summaryrefslogtreecommitdiff
path: root/dir.c
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2013-06-03 19:58:56 (GMT)
committerJunio C Hamano <gitster@pobox.com>2013-06-03 19:58:56 (GMT)
commit3684101a654d5a7b598d9810df3b498f2a8928d0 (patch)
treed0b60e2ef0bc9279f77543cefe14688593b06f42 /dir.c
parent1fee89cedd3f797ae792379475fab3e4183de17e (diff)
parentc3c327deeaf018e727a27f5ae88e140ff7a48595 (diff)
downloadgit-3684101a654d5a7b598d9810df3b498f2a8928d0.zip
git-3684101a654d5a7b598d9810df3b498f2a8928d0.tar.gz
git-3684101a654d5a7b598d9810df3b498f2a8928d0.tar.bz2
Merge branch 'kb/status-ignored-optim-2'
Fix 1.8.3 regressions in the .gitignore path exclusion logic. * kb/status-ignored-optim-2: dir.c: fix ignore processing within not-ignored directories
Diffstat (limited to 'dir.c')
-rw-r--r--dir.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/dir.c b/dir.c
index ee4d04d..897c874 100644
--- a/dir.c
+++ b/dir.c
@@ -821,6 +821,9 @@ static void prep_exclude(struct dir_struct *dir, const char *base, int baselen)
dir->basebuf, stk->baselen - 1,
dir->basebuf + current, &dt);
dir->basebuf[stk->baselen - 1] = '/';
+ if (dir->exclude &&
+ dir->exclude->flags & EXC_FLAG_NEGATIVE)
+ dir->exclude = NULL;
if (dir->exclude) {
dir->basebuf[stk->baselen] = 0;
dir->exclude_stack = stk;