status: always report ignored tracked directories
authorAntoine Pelisse <apelisse@gmail.com>
Sun, 6 Jan 2013 22:09:39 +0000 (23:09 +0100)
committerJunio C Hamano <gitster@pobox.com>
Mon, 7 Jan 2013 19:06:29 +0000 (11:06 -0800)
commita45fb697f13bb789aca930ce786cf416ef1ecd0e
tree5f0dc7bde88e00f22a7341750f72d9a1e9badd82
parenteb8c5b872ef144add4ac89f85bcddc974ac7114d
status: always report ignored tracked directories

When enumerating paths that are ignored, paths the index knows
about are not included in the result.  The "index knows about"
check is done by consulting the name hash, not the actual
contents of the index:

 - When core.ignorecase is false, directory names are not in the
   name hash, and ignored ones are shown as ignored (directories
   can never be tracked anyway).

 - When core.ignorecase is true, however, the name hash keeps
   track of the names of directories, in order to detect
   additions of the paths under different cases.  This causes
   ignored directories to be mistakenly excluded when
   enumerating ignored paths.

Stop excluding directories that are in the name hash when
looking for ignored files in dir_add_name(); the names that are
actually in the index are excluded much earlier in the callchain
in treat_file(), so this fix will not make them mistakenly
identified as ignored.

Signed-off-by: Antoine Pelisse <apelisse@gmail.com>
Reviewed-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
dir.c