Subject: Re: [PATCH v2] ls-tree: fix --long implying -r regression in 9c4d58ff2c3

From: Junio C Hamano <[email-masked]>
Date: Wed, 06 Apr 2022 14:51:29 -0700

Ævar Arnfjörð Bjarmason <[email-masked]> writes:

>>> +	cat >expect &&
>>> +	cat <&6 >expect.-d &&
>>> +	cat <&7 >expect.-r &&
>>> +	cat <&8 >expect.-t &&
>>
>> Let's not go too cute like this.  This forces the caller to remember
>> which among 6, 7, and 8 corresponds to which option.  It is too ugly
>> to live.
>
> I think it's rather elegant actually, but to be fair it would, per:
>
> 	git grep '<&[1-9]| [1-9]<<-'
>
> Be the user with the most FD's using this sort of pattern.

Please give a clear explanation why "-d" has to be 6, "-r" 7 and
"-t" 8, that can be used by developers as a memory aid to help them
write new tests using the helper.

Or justify why the developers have to memorize such a meaningless
correspondence, if there is no any good reason.

Alternatively, you can stop abusing the word "elegant".  It is not a
synonym to "what I wrote" ;-).