diff options
author | Junio C Hamano <gitster@pobox.com> | 2013-01-05 23:40:15 -0800 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2013-01-05 23:40:15 -0800 |
commit | 990a4fea96983d54c0dcc96352e4c86404eceb77 (patch) | |
tree | d6acc2d8d42d9b75101bbfe7904955356913b7dc /builtin | |
parent | d65d991b6543d8dcc8d10dd99a92a63693bcd54e (diff) | |
parent | c904cd89e4328c0b5041b6ee0bb2df32459a33a2 (diff) | |
download | git-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.c | 2 | ||||
-rw-r--r-- | builtin/ls-tree.c | 2 |
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) |