]> git.ipfire.org Git - thirdparty/git.git/commitdiff
clean: replace match_pathspec() with dir_path_match()
authorNguyễn Thái Ngọc Duy <pclouds@gmail.com>
Fri, 24 Jan 2014 13:40:34 +0000 (20:40 +0700)
committerJunio C Hamano <gitster@pobox.com>
Mon, 24 Feb 2014 22:37:24 +0000 (14:37 -0800)
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>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/clean.c

index 4c9680acb6ded634d44d7712b6f6798c866f236e..5adb52d82a4024b1e769442203dfa49ce25a9818 100644 (file)
@@ -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)) {