From 560bb7a7a146fddad3394dc913f1469d477d26a9 Mon Sep 17 00:00:00 2001 From: Karsten Blees Date: Mon, 15 Apr 2013 21:05:19 +0200 Subject: 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 Signed-off-by: Junio C Hamano --- dir.c | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'dir.c') diff --git a/dir.c b/dir.c index 91cfd99671..dc3a50baf6 100644 --- a/dir.c +++ b/dir.c @@ -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 -- cgit v1.2.1