diff options
author | Karsten Blees <karsten.blees@gmail.com> | 2013-04-15 21:05:19 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2013-04-15 12:33:58 -0700 |
commit | 560bb7a7a146fddad3394dc913f1469d477d26a9 (patch) | |
tree | 3d7e847a6129633e53456dfe6dec39530a40ed89 /dir.c | |
parent | 85e7e81ccfcec98972e341ab81b0109084b84906 (diff) | |
download | git-560bb7a7a146fddad3394dc913f1469d477d26a9.tar.gz |
dir.c: git-status --ignored: don't drop ignored directories
'git-status --ignored' drops ignored directories if they contain untracked
files in an untracked sub directory.
Fix it by getting exact (recursive) excluded status in treat_directory.
Signed-off-by: Karsten Blees <blees@dcon.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'dir.c')
-rw-r--r-- | dir.c | 9 |
1 files changed, 9 insertions, 0 deletions
@@ -1104,6 +1104,15 @@ static enum directory_treatment treat_directory(struct dir_struct *dir, /* This is the "show_other_directories" case */ + /* might be a sub directory in an excluded directory */ + if (!exclude) { + struct path_exclude_check check; + int dt = DT_DIR; + path_exclude_check_init(&check, dir); + exclude = is_path_excluded(&check, dirname, len, &dt); + path_exclude_check_clear(&check); + } + /* * We are looking for ignored files and our directory is not ignored, * check if it contains only ignored files |