git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[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
Previous: Duy NguyenNext: Nguyễn Thái Ngọc Duy
Message 19 of 24 in “problematic git log submodule-dir/”
  1. Paweł SikoraJan 20, 2014
  2. Jens LehmannJan 22, 2014
  3. Duy NguyenJan 22, 2014
  4. 1/2 tree-walk.c: ignore trailing slash on submodule in tree_entry_interesting()Nguyễn Thái Ngọc Duy, Jan 23, 2014
  5. 2/2 t4010: match_pathspec_depth() and trailing slash after submoduleNguyễn Thái Ngọc Duy, Jan 23, 2014
  6. Junio C HamanoJan 23, 2014
  7. Jens LehmannJan 23, 2014
  8. Junio C HamanoJan 23, 2014
  9. Duy NguyenJan 24, 2014
  10. 0/9 About the trailing slashesNguyễn Thái Ngọc Duy, Jan 24, 2014
  11. 1/9 Convert some match_pathspec_depth() to ce_path_match()Nguyễn Thái Ngọc Duy, Jan 24, 2014
  12. 2/9 Convert some match_pathspec_depth() to dir_path_match()Nguyễn Thái Ngọc Duy, Jan 24, 2014
  13. 3/9 Rename match_pathspec_depth() to match_pathspec()Nguyễn Thái Ngọc Duy, Jan 24, 2014
  14. 4/9 dir.c: prepare match_pathspec_item for taking more flagsNguyễn Thái Ngọc Duy, Jan 24, 2014
  15. 5/9 match_pathspec: match pathspec "foo/" against directory "foo"Nguyễn Thái Ngọc Duy, Jan 24, 2014
  16. 6/9 Pass directory indicator to match_pathspec_item()Nguyễn Thái Ngọc Duy, Jan 24, 2014
  17. Eric SunshineJan 24, 2014
  18. Duy NguyenJan 25, 2014
  19. 7/9 clean: replace match_pathspec() with dir_path_match()Nguyễn Thái Ngọc Duy, Jan 24, 2014
  20. 8/9 clean: use cache_name_is_other()Nguyễn Thái Ngọc Duy, Jan 24, 2014
  21. 9/9 tree-walk.c: ignore trailing slash on submodule in tree_entry_interesting()Nguyễn Thái Ngọc Duy, Jan 24, 2014
  22. Junio C HamanoJan 24, 2014
  23. Duy NguyenJan 25, 2014
  24. Junio C HamanoJan 27, 2014

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.