summaryrefslogtreecommitdiff
path: root/builtin
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2013-01-05 23:40:15 -0800
committerJunio C Hamano <gitster@pobox.com>2013-01-05 23:40:15 -0800
commit990a4fea96983d54c0dcc96352e4c86404eceb77 (patch)
treed6acc2d8d42d9b75101bbfe7904955356913b7dc /builtin
parentd65d991b6543d8dcc8d10dd99a92a63693bcd54e (diff)
parentc904cd89e4328c0b5041b6ee0bb2df32459a33a2 (diff)
downloadgit-990a4fea96983d54c0dcc96352e4c86404eceb77.tar.gz
Merge branch 'nd/pathspec-wildcard'
Optimize matching paths with common forms of pathspecs that contain wildcard characters. * nd/pathspec-wildcard: tree_entry_interesting: do basedir compare on wildcard patterns when possible pathspec: apply "*.c" optimization from exclude pathspec: do exact comparison on the leading non-wildcard part pathspec: save the non-wildcard length part
Diffstat (limited to 'builtin')
-rw-r--r--builtin/ls-files.c2
-rw-r--r--builtin/ls-tree.c2
2 files changed, 2 insertions, 2 deletions
diff --git a/builtin/ls-files.c b/builtin/ls-files.c
index b5434af0c8..4a9ee690c7 100644
--- a/builtin/ls-files.c
+++ b/builtin/ls-files.c
@@ -337,7 +337,7 @@ void overlay_tree_on_cache(const char *tree_name, const char *prefix)
matchbuf[0] = prefix;
matchbuf[1] = NULL;
init_pathspec(&pathspec, matchbuf);
- pathspec.items[0].use_wildcard = 0;
+ pathspec.items[0].nowildcard_len = pathspec.items[0].len;
} else
init_pathspec(&pathspec, NULL);
if (read_tree(tree, 1, &pathspec))
diff --git a/builtin/ls-tree.c b/builtin/ls-tree.c
index 235c17cc01..fb76e38d84 100644
--- a/builtin/ls-tree.c
+++ b/builtin/ls-tree.c
@@ -168,7 +168,7 @@ int cmd_ls_tree(int argc, const char **argv, const char *prefix)
init_pathspec(&pathspec, get_pathspec(prefix, argv + 1));
for (i = 0; i < pathspec.nr; i++)
- pathspec.items[i].use_wildcard = 0;
+ pathspec.items[i].nowildcard_len = pathspec.items[i].len;
pathspec.has_wildcard = 0;
tree = parse_tree_indirect(sha1);
if (!tree)