wt-status: collect ignored files
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
f5b26b1d14
commit
6cb3f6b282
16
wt-status.c
16
wt-status.c
@ -42,6 +42,7 @@ void wt_status_prepare(struct wt_status *s)
|
||||
s->index_file = get_index_file();
|
||||
s->change.strdup_strings = 1;
|
||||
s->untracked.strdup_strings = 1;
|
||||
s->ignored.strdup_strings = 1;
|
||||
}
|
||||
|
||||
static void wt_status_print_unmerged_header(struct wt_status *s)
|
||||
@ -382,6 +383,21 @@ static void wt_status_collect_untracked(struct wt_status *s)
|
||||
free(ent);
|
||||
}
|
||||
|
||||
if (s->show_ignored_files) {
|
||||
dir.nr = 0;
|
||||
dir.flags = DIR_SHOW_IGNORED | DIR_SHOW_OTHER_DIRECTORIES;
|
||||
fill_directory(&dir, s->pathspec);
|
||||
for (i = 0; i < dir.nr; i++) {
|
||||
struct dir_entry *ent = dir.entries[i];
|
||||
if (!cache_name_is_other(ent->name, ent->len))
|
||||
continue;
|
||||
if (!match_pathspec(s->pathspec, ent->name, ent->len, 0, NULL))
|
||||
continue;
|
||||
string_list_insert(ent->name, &s->ignored);
|
||||
free(ent);
|
||||
}
|
||||
}
|
||||
|
||||
free(dir.entries);
|
||||
}
|
||||
|
||||
|
@ -41,6 +41,7 @@ struct wt_status {
|
||||
int use_color;
|
||||
int relative_paths;
|
||||
int submodule_summary;
|
||||
int show_ignored_files;
|
||||
enum untracked_status_type show_untracked_files;
|
||||
char color_palette[WT_STATUS_UNMERGED+1][COLOR_MAXLEN];
|
||||
|
||||
@ -52,6 +53,7 @@ struct wt_status {
|
||||
const char *prefix;
|
||||
struct string_list change;
|
||||
struct string_list untracked;
|
||||
struct string_list ignored;
|
||||
};
|
||||
|
||||
void wt_status_prepare(struct wt_status *s);
|
||||
|
Loading…
Reference in New Issue
Block a user