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

[PATCH 2/2] t4010: match_pathspec_depth() and trailing slash after submodule

From
Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Date
Jan 23, 2014, 13:22 UTC
Message-ID
<1390483326-32258-2-git-send-email-pclouds@gmail.com>
In-Reply-To
<1390483326-32258-1-git-send-email-pclouds@gmail.com>

When you do "git diff HEAD submodule/", "submodule" from the index is picked out and match_pathspec_depth() in charge of matching it with the pathspec "submodule/".

Unlike tree_entry_interesting(), match_pathspec_depth() has no knowledge about entry mode to realize "submodule" is a directory and treat the trailing slash specially. And it does not have too, mostly, because the index only contains files, not directories (not until submodules come)

I have no solutions for it (no, stripping '/' at pathspec preprocessing phase seems like a workaround than a solution). So let's mark it. Maybe I or somebody else could revisit it later.

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
---
 t/t4010-diff-pathspec.sh | 6 ++++++
 1 file changed, 6 insertions(+)
diff --git a/t/t4010-diff-pathspec.sh b/t/t4010-diff-pathspec.sh
index 15a4912..b54251a 100755
--- a/t/t4010-diff-pathspec.sh
+++ b/t/t4010-diff-pathspec.sh
@@ -127,4 +127,10 @@ test_expect_success 'diff-tree ignores trailing slash on submodule path' '
 	test_cmp expect actual
 '
 
+test_expect_failure 'diff-cache ignores trailing slash on submodule path' '
+	git diff --name-only HEAD^ submod >expect &&
+	git diff --name-only HEAD^ submod/ >actual &&
+	test_cmp expect actual
+'
+
 test_done
-- 
1.8.5.2.240.g8478abd
Previous: Nguyễn Thái Ngọc DuyNext: Junio C Hamano
Message 5 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.