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()
This commit is contained in:
@ -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)) {
|
||||
|
Reference in New Issue
Block a user