summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLibravatar Junio C Hamano <gitster@pobox.com>2021-11-03 13:32:28 -0700
committerLibravatar Junio C Hamano <gitster@pobox.com>2021-11-03 13:32:28 -0700
commit36f0a2e20f3eeeaef8c356a4c9d27c3a5a5e13d0 (patch)
treec5afe6636bf307c3b742e7461f076659f5ae55d3
parentMerge branch 'jx/message-fixes' (diff)
parentdir: fix directory-matching bug (diff)
downloadtgif-36f0a2e20f3eeeaef8c356a4c9d27c3a5a5e13d0.tar.xz
Merge branch 'ds/add-rm-with-sparse-index'
Regression fix. * ds/add-rm-with-sparse-index: dir: fix directory-matching bug
-rw-r--r--dir.c2
-rwxr-xr-xt/t0008-ignores.sh26
2 files changed, 27 insertions, 1 deletions
diff --git a/dir.c b/dir.c
index c6d7a8647b..94489298f4 100644
--- a/dir.c
+++ b/dir.c
@@ -1294,7 +1294,7 @@ int match_pathname(const char *pathname, int pathlen,
* then our prefix match is all we need; we
* do not need to call fnmatch at all.
*/
- if (!patternlen && (!namelen || (flags & PATTERN_FLAG_MUSTBEDIR)))
+ if (!patternlen && !namelen)
return 1;
}
diff --git a/t/t0008-ignores.sh b/t/t0008-ignores.sh
index 532637de88..1889cfc60e 100755
--- a/t/t0008-ignores.sh
+++ b/t/t0008-ignores.sh
@@ -803,6 +803,32 @@ test_expect_success 'existing directory and file' '
grep top-level-dir actual
'
+test_expect_success 'exact prefix matching (with root)' '
+ test_when_finished rm -r a &&
+ mkdir -p a/git a/git-foo &&
+ touch a/git/foo a/git-foo/bar &&
+ echo /git/ >a/.gitignore &&
+ git check-ignore a/git a/git/foo a/git-foo a/git-foo/bar >actual &&
+ cat >expect <<-\EOF &&
+ a/git
+ a/git/foo
+ EOF
+ test_cmp expect actual
+'
+
+test_expect_success 'exact prefix matching (without root)' '
+ test_when_finished rm -r a &&
+ mkdir -p a/git a/git-foo &&
+ touch a/git/foo a/git-foo/bar &&
+ echo git/ >a/.gitignore &&
+ git check-ignore a/git a/git/foo a/git-foo a/git-foo/bar >actual &&
+ cat >expect <<-\EOF &&
+ a/git
+ a/git/foo
+ EOF
+ test_cmp expect actual
+'
+
############################################################################
#
# test whitespace handling