Subject: Re: [PATCH v2] format-patch: add --description-file option

From: Oswald Buddenhagen <[email-masked]>
Date: Sun, 13 Aug 2023 10:22:41 +0200

On Sat, Aug 12, 2023 at 01:21:46AM -0700, Junio C Hamano wrote:
>Oswald Buddenhagen <[email-masked]> writes:
>
>> On Fri, Aug 11, 2023 at 02:38:05PM -0700, Junio C Hamano wrote:
>>>> +	if (strbuf_read_file(buf, desc_file, 2000) < 0)
>>>
>>>You would probably want to do "2000" -> "0" here.
>>>
>> hmm, yeah, i wonder where i got it from, given that there is no
>> precedent. i suppose i simply thought that 2k is a reasonably
>> expectable max size for a description. if you think the default 8k
>> hint is a better idea, then let's go with it.
>
>The suggestion was not about 2000 vs 8kiB,
>
i know. i just mentioned the default for reference. it seems "severely" 
oversized for the task - not that it would actually matter.

>though it seems we stick
>to power of 2 everywhere we are explicit.  Unless we know the exact
>size from .st_size, that is.
>
>It was primarily about this code not having any need to express its
>own preference and go with whatever is the default.
>
arguably, just about every other instance which uses a fixed hint 
doesn't need to, yet some of them do. it's somewhat obvious in the case 
of "tiny" hints, but there are also some cases of 1k. and the 
sequencer's do_commit() uses 2k for the message file, which is "a funny 
coincidence".
so i wonder whether there is some standard to go by.

>> that's a good point. in fact, passing in the description directly
>> would probably fit my use case better ... i just happened to already
>> have the code for creating that temp file anyway (for editing), so i
>> didn't give it a second thought. i can add both options in the same
>> go, given that it's almost no code.
>
>One thing that you may have to be careful about, if you also take
>strings directly from the command line, is what to do with multiple
>of them.  "git commit -m A -m B" that makes A and B separate
>paragraphs with a break between them, I would think, would serve as
>a good model that end-users already understand well.
>
no worries about that, i'd just copy from commit anyway.

however, this points out a potential problem, which makes me have second 
thoughts about my use case ... i would want to pass the entire contents 
in one argument, newlines and quotes included. i know that this is 
inherently ok on unix, but i wonder whether it would work reliably on 
windows (the wrapper script is written in perl)?

regards