dir.c: Make git-status --ignored more consistent
authorAntoine Pelisse <apelisse@gmail.com>
Sun, 30 Dec 2012 14:39:00 +0000 (15:39 +0100)
committerJunio C Hamano <gitster@pobox.com>
Wed, 2 Jan 2013 00:24:45 +0000 (16:24 -0800)
commit721ac4edde75723ef8dbbb68989bda89fbf6fc66
tree55040c81db149276a3de41db6df15a66ca5f56c5
parent7e2010537e96d0a1144520222f20ba1dc3d61441
dir.c: Make git-status --ignored more consistent

The current behavior of git-status is inconsistent and misleading.
Especially when used with --untracked-files=all option:

 - files ignored in untracked directories will be missing from
   status output.

 - untracked files in committed yet ignored directories are also
   missing.

 - with --untracked-files=normal, untracked directories that
   contains only ignored files are dropped too.

Make the behavior more consistent across all possible use cases:

 - "--ignored --untracked-files=normal" doesn't show each specific
   files but top directory.  It instead shows untracked directories
   that only contains ignored files, and ignored tracked directories
   with untracked files.

 - "--ignored --untracked-files=all" shows all ignored files, either
   because it's in an ignored directory (tracked or untracked), or
   because the file is explicitly ignored.

Signed-off-by: Antoine Pelisse <apelisse@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
dir.c
wt-status.c