diff options
Diffstat (limited to 'wt-status.c')
-rw-r--r-- | wt-status.c | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/wt-status.c b/wt-status.c index 5b4d74c1f3..28c9e637e3 100644 --- a/wt-status.c +++ b/wt-status.c @@ -27,6 +27,7 @@ static const char use_add_rm_msg[] = "use \"git add/rm <file>...\" to update what will be committed"; static const char use_add_to_include_msg[] = "use \"git add <file>...\" to include in what will be committed"; +enum untracked_status_type show_untracked_files = SHOW_NORMAL_UNTRACKED_FILES; static int parse_status_slot(const char *var, int offset) { @@ -347,7 +348,10 @@ void wt_status_print(struct wt_status *s) wt_status_print_changed(s); if (wt_status_submodule_summary) wt_status_print_submodule_summary(s); - wt_status_print_untracked(s); + if (show_untracked_files) + wt_status_print_untracked(s); + else if (s->commitable) + fprintf(s->fp, "# Untracked files not listed (use -u option to show untracked files)\n"); if (s->verbose && !s->is_initial) wt_status_print_verbose(s); @@ -362,6 +366,8 @@ void wt_status_print(struct wt_status *s) printf("nothing added to commit but untracked files present (use \"git add\" to track)\n"); else if (s->is_initial) printf("nothing to commit (create/copy files and use \"git add\" to track)\n"); + else if (!show_untracked_files) + printf("nothing to commit (use -u to show untracked files)\n"); else printf("nothing to commit (working directory clean)\n"); } @@ -391,5 +397,18 @@ int git_status_config(const char *k, const char *v, void *cb) wt_status_relative_paths = git_config_bool(k, v); return 0; } + if (!strcmp(k, "status.showuntrackedfiles")) { + if (!v) + return config_error_nonbool(v); + else if (!strcmp(v, "no")) + show_untracked_files = SHOW_NO_UNTRACKED_FILES; + else if (!strcmp(v, "normal")) + show_untracked_files = SHOW_NORMAL_UNTRACKED_FILES; + else if (!strcmp(v, "all")) + show_untracked_files = SHOW_ALL_UNTRACKED_FILES; + else + return error("Invalid untracked files mode '%s'", v); + return 0; + } return git_color_default_config(k, v, cb); } |