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

From: Nguyễn Thái Ngọc Duy <[email-masked]>
Date: Thu, 23 Jan 2014 20:22:06 +0700

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 <[email-masked]>
---
 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