Subject: Re: [PATCH 07/15] t4011: abstract away SHA-1-specific constants

From: Derrick Stolee <[email-masked]>
Date: Tue, 8 Oct 2019 08:38:03 -0400

On 10/8/2019 8:33 AM, Bert Wesarg wrote:
> On Tue, Oct 8, 2019 at 2:21 PM Derrick Stolee <[email-masked]> wrote:
>>
>> On 10/5/2019 5:12 PM, brian m. carlson wrote:
>>> Adjust the test so that it computes variables for object IDs instead of
>>> using hard-coded hashes.
>>
>> [snip]
>>
>>> @@ -137,14 +141,17 @@ test_expect_success SYMLINKS 'setup symlinks with attributes' '
>>>  '
>>>
>>>  test_expect_success SYMLINKS 'symlinks do not respect userdiff config by path' '
>>> -     cat >expect <<-\EOF &&
>>> +     file=$(git rev-parse --short $(git hash-object file.bin)) &&
>>> +     link=$(git rev-parse --short \
>>> +             $(printf file.bin | git hash-object --stdin)) &&
>>
>> Why this change from $(git hash-object file.bin) to
>> $(printf file.bin | git hash-object --stdin)?
> 
> thats two different things. The first hashes the content of file
> "file.bin". The second hashes the literal string "file.bin". To avoid
> this confusion, may I suggest to use 'printf "%s" "file.bin"', so that
> it is clear, that the literal string is meant in this context?

Ah, and because the resulting hash is for the contents of the symlink
(not the contents of the file), it makes sense to use printf here.

Thanks for the clarification!

-Stolee