diff options
author | Junio C Hamano <gitster@pobox.com> | 2014-02-27 14:01:15 -0800 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2014-02-27 14:01:15 -0800 |
commit | cbaeafc3251d08b479c5eb735444bb6ad6210c93 (patch) | |
tree | 5513bd0aab1246167f737639e72022c0de64b1a6 /read-cache.c | |
parent | 156d6ed9221ff38c4cd3bfcfc6778e31c104fd9b (diff) | |
parent | 2e70c01799bf663cc1fa5f6e37e025000ffdc0b0 (diff) | |
download | git-cbaeafc3251d08b479c5eb735444bb6ad6210c93.tar.gz |
Merge branch 'nd/submodule-pathspec-ending-with-slash'
Allow "git cmd path/", when the 'path' is where a submodule is
bound to the top-level working tree, to match 'path', despite the
extra and unnecessary trailing slash.
* nd/submodule-pathspec-ending-with-slash:
clean: use cache_name_is_other()
clean: replace match_pathspec() with dir_path_match()
pathspec: pass directory indicator to match_pathspec_item()
match_pathspec: match pathspec "foo/" against directory "foo"
dir.c: prepare match_pathspec_item for taking more flags
pathspec: rename match_pathspec_depth() to match_pathspec()
pathspec: convert some match_pathspec_depth() to dir_path_match()
pathspec: convert some match_pathspec_depth() to ce_path_match()
Diffstat (limited to 'read-cache.c')
-rw-r--r-- | read-cache.c | 8 |
1 files changed, 1 insertions, 7 deletions
diff --git a/read-cache.c b/read-cache.c index 71f64f3a6e..29c1047eeb 100644 --- a/read-cache.c +++ b/read-cache.c @@ -730,11 +730,6 @@ int ce_same_name(const struct cache_entry *a, const struct cache_entry *b) return ce_namelen(b) == len && !memcmp(a->name, b->name, len); } -int ce_path_match(const struct cache_entry *ce, const struct pathspec *pathspec) -{ - return match_pathspec_depth(pathspec, ce->name, ce_namelen(ce), 0, NULL); -} - /* * We fundamentally don't like some paths: we don't want * dot or dot-dot anywhere, and for obvious reasons don't @@ -1157,8 +1152,7 @@ int refresh_index(struct index_state *istate, unsigned int flags, if (ignore_submodules && S_ISGITLINK(ce->ce_mode)) continue; - if (pathspec && - !match_pathspec_depth(pathspec, ce->name, ce_namelen(ce), 0, seen)) + if (pathspec && !ce_path_match(ce, pathspec, seen)) filtered = 1; if (ce_stage(ce)) { |