From b7b77def931be50777884ddd35a8689df0ecbebd Mon Sep 17 00:00:00 2001 From: Russell Belfer Date: Fri, 9 Aug 2013 11:20:49 -0700 Subject: [PATCH] Match against file with leading ! was too broad --- src/pathspec.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/pathspec.c b/src/pathspec.c index 1d7b71a74..d56d03918 100644 --- a/src/pathspec.c +++ b/src/pathspec.c @@ -166,7 +166,8 @@ static int pathspec_match_one( if (result == FNM_NOMATCH && (match->flags & GIT_ATTR_FNMATCH_NEGATIVE) != 0 && *path == '!' && - ctxt->strncomp(path + 1, match->pattern, match->length) == 0) + ctxt->strncomp(path + 1, match->pattern, match->length) == 0 && + (!path[match->length + 1] || path[match->length + 1] == '/')) return 1; if (result == 0)