[PATCH v2 7/9] clean: replace match_pathspec() with dir_path_match()
- From
Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
- Date
- Jan 24, 2014, 13:40 UTC
- Message-ID
- <1390570836-20394-8-git-send-email-pclouds@gmail.com>
- In-Reply-To
- <1390570836-20394-1-git-send-email-pclouds@gmail.com>
This instance was left out when many match_pathspec() call sites that take input from dir_entry were converted to dir_path_match() because it passed a path with the trailing slash stripped out to match_pathspec() while the others did not. Stripping for all call sites back then would be a regression because match_pathspec() did not know how to match pathspec foo/ against _directory_ foo (the stripped version of path "foo/").
match_pathspec() knows how to do it now. And dir_path_match() strips the trailing slash also. Use the new function, because the stripping code is removed in the next patch.
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> --- builtin/clean.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/builtin/clean.c b/builtin/clean.c index 4c9680a..5adb52d 100644 --- a/builtin/clean.c +++ b/builtin/clean.c @@ -961,8 +961,7 @@ int cmd_clean(int argc, const char **argv, const char *prefix) die_errno("Cannot lstat '%s'", ent->name); if (pathspec.nr) - matches = match_pathspec(&pathspec, ent->name, - len, 0, NULL, 0); + matches = dir_path_match(ent, &pathspec, 0, NULL); if (S_ISDIR(st.st_mode)) { if (remove_directories || (matches == MATCHED_EXACTLY)) {
-- 1.8.5.2.240.g8478abd