Antoine Pelisse <apelisse@xxxxxxxxx> writes: > When looking for ignored files, we do not recurse into untracked > directory, and simply consider the directory ignored status. When asked to show ignored ones, instead of listing all ignored files in such a directory, we just say "everything in this directory is ignored"? That sounds like a more desirable behaviour, than listing everything there, at least to me, but perhaps I am missing something. Care to add a test for this new behaviour? > As a consequence, we don't see ignored files in those directories. > > Change that behavior by recursing into untracked directories, if not > ignored themselves, searching for ignored files. > > Signed-off-by: Antoine Pelisse <apelisse@xxxxxxxxx> > --- > Actually, the previous patch breaks the case where the directory is ignored. > This one should fix both issues. > Let me know if you see any other use case that could be an issue. > > dir.c | 7 +++++++ > wt-status.c | 2 +- > 2 files changed, 8 insertions(+), 1 deletion(-) > > diff --git a/dir.c b/dir.c > index 5a83aa7..2863799 100644 > --- a/dir.c > +++ b/dir.c > @@ -1042,6 +1042,13 @@ static enum path_treatment treat_one_path(struct dir_struct *dir, > return path_ignored; > } > > + /* > + * Don't recurse into ignored directories when looking for > + * ignored files, but still show the directory as ignored. > + */ > + if (exclude && (dir->flags & DIR_SHOW_IGNORED) && dtype == DT_DIR) > + return path_handled; > + > switch (dtype) { > default: > return path_ignored; > diff --git a/wt-status.c b/wt-status.c > index 2a9658b..7c41488 100644 > --- a/wt-status.c > +++ b/wt-status.c > @@ -516,7 +516,7 @@ static void wt_status_collect_untracked(struct wt_status *s) > > if (s->show_ignored_files) { > dir.nr = 0; > - dir.flags = DIR_SHOW_IGNORED | DIR_SHOW_OTHER_DIRECTORIES; > + dir.flags = DIR_SHOW_IGNORED; > fill_directory(&dir, s->pathspec); > for (i = 0; i < dir.nr; i++) { > struct dir_entry *ent = dir.entries[i]; > -- > 1.8.1.rc3.12.g8864e38 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html