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

From: Jens Lehmann <[email-masked]>
Date: Thu, 23 Jan 2014 22:25:40 +0100

Am 23.01.2014 22:09, schrieb Junio C Hamano:
> Nguyễn Thái Ngọc Duy  <[email-masked]> writes:
>> 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 &&
> 
> I actually doubt that the second line is expecting the right
> behaviour in the first place.  As far as the top-level project is
> concerned, "submod" is the name it wants, as there is nothing
> underneath it.  Even if asked to recurse infinite levels, the caller
> shouldn't be feeding paths like "submod/a/b/c" to
> match_pathspec_depth() in the first place, no?

Agreed, "submod/a/b/c" would not make sense here. But a single
trailing '/' does mark "submod" as a directory, which I think is
ok for a submodule. And it makes life easier for the user if we
accept that, as shell completion will add it there automatically.