From 0104c9e7816e30701e4fdd9143889faacfa0eefa Mon Sep 17 00:00:00 2001 From: Karsten Blees Date: Mon, 15 Apr 2013 21:07:16 +0200 Subject: dir.c: git-status --ignored: don't list empty ignored directories 'git-status --ignored' lists ignored tracked directories without any ignored files if a tracked file happens to match an exclude pattern. Always exclude tracked files. Signed-off-by: Karsten Blees Signed-off-by: Junio C Hamano --- dir.c | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) (limited to 'dir.c') diff --git a/dir.c b/dir.c index 248cfea39f..4723cd537d 100644 --- a/dir.c +++ b/dir.c @@ -1153,16 +1153,13 @@ static int treat_file(struct dir_struct *dir, struct strbuf *path, int exclude, struct path_exclude_check check; int exclude_file = 0; + /* Always exclude indexed files */ + if (index_name_exists(&the_index, path->buf, path->len, ignore_case)) + return 1; + if (exclude) exclude_file = !(dir->flags & DIR_SHOW_IGNORED); else if (dir->flags & DIR_SHOW_IGNORED) { - /* Always exclude indexed files */ - struct cache_entry *ce = index_name_exists(&the_index, - path->buf, path->len, ignore_case); - - if (ce) - return 1; - path_exclude_check_init(&check, dir); if (!is_path_excluded(&check, path->buf, path->len, dtype)) -- cgit v1.3-5-g9baa