pathspec: apply "*.c" optimization from exclude
[gitweb.git] / tree-walk.c
index 2fcf3c02da2377bd3cdf8df4bb235e852517683d..585899ea24c8f51e58e737e361bf64497ee3d3f6 100644 (file)
@@ -628,7 +628,8 @@ enum interesting tree_entry_interesting(const struct name_entry *entry,
 
                        if (item->nowildcard_len < item->len) {
                                if (!git_fnmatch(match + baselen, entry->path,
-                                                0, item->nowildcard_len - baselen))
+                                                item->flags & PATHSPEC_ONESTAR ? GFNM_ONESTAR : 0,
+                                                item->nowildcard_len - baselen))
                                        return entry_interesting;
 
                                /*
@@ -654,7 +655,8 @@ enum interesting tree_entry_interesting(const struct name_entry *entry,
                strbuf_add(base, entry->path, pathlen);
 
                if (!git_fnmatch(match, base->buf + base_offset,
-                                0, item->nowildcard_len)) {
+                                item->flags & PATHSPEC_ONESTAR ? GFNM_ONESTAR : 0,
+                                item->nowildcard_len)) {
                        strbuf_setlen(base, base_offset + baselen);
                        return entry_interesting;
                }