Commit 644592bc by Vicent Marti

Merge pull request #2320 from libgit2/rb/fix-starstar-again

Make ** pattern eat trailing slash
parents 9d878fc4 d19b2f9f
......@@ -62,6 +62,8 @@ p_fnmatchx(const char *pattern, const char *string, int flags, size_t recurs)
flags &= ~FNM_PATHNAME;
while (c == '*')
c = *++pattern;
if (c == '/')
c = *++pattern;
}
if (*string == '.' && (flags & FNM_PERIOD) &&
......
......@@ -81,6 +81,24 @@ void test_attr_ignore__full_paths(void)
assert_is_ignored(false, "Folder/Middle/More/More/Contained/Not/Happy/Child");
}
void test_attr_ignore__more_starstar_cases(void)
{
cl_must_pass(p_unlink("attr/.gitignore"));
cl_git_mkfile(
"attr/dir/.gitignore",
"sub/**/*.html\n");
assert_is_ignored(false, "aaa.html");
assert_is_ignored(false, "dir");
assert_is_ignored(false, "dir/sub");
assert_is_ignored(true, "dir/sub/sub2/aaa.html");
assert_is_ignored(true, "dir/sub/aaa.html");
assert_is_ignored(false, "dir/aaa.html");
assert_is_ignored(false, "sub");
assert_is_ignored(false, "sub/aaa.html");
assert_is_ignored(false, "sub/sub2/aaa.html");
}
void test_attr_ignore__leading_stars(void)
{
cl_git_rewritefile(
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment