On 2020-06-04 13:18:57-0700, Junio C Hamano <gitster@xxxxxxxxx> wrote: > Laurent Arnoud <laurent@xxxxxxxxxx> writes: > > > I don't know if its a bug but I founded strange that I needed to use an alias > > "git -c diff.noprefix=false format-patch" to generate a patch that I can apply > > directly with "git am". > > The same thing can be said about the diff.relative option. > > As I do not use either of these variables myself, I am somewhat > indifferent, if those who set these variables find the consequences > of doing so unpleasant. As people often say, if it hurts, then... > ;-) FWIW, people need to dig into git-config(1) to know diff.noprefix We don't mention it in git-diff(1). Me neither until today. > Because the recipient of format-patch output who consumes it is > typically different from the one who generates it, it probably does > not make much sense to attempt linking diff.noprefix=true with the > -p0 option (there isn't even a configuration for 'git am -p<num>', > if I am not mistaken). Could we extend the patch in someway that can hint git-am(1) to use "-p0" if patch was generated by --no-prefix? I couldn't come up with any idea right now, since all parts of the patch is very busy with a lot of information. An RFC 822 header, perhap? Of course old git-am(1) couldn't understand the extension. And the new git-am may come up with false positive? > Depending on the project a user works with, allowing > log/show/format-patch to honor certain diff.* configuration > variables, without a way to countermand them with more specific > configuration for log/show/format-patch, may smell like a bug. > > I am not sure where to draw the line, though. Would we treat only > format-patch and no other commands in the log family specially? > Would we treat each commands in the log family specially and > separately, so that you could say "diff and show uses noprefix, but > 'log -p' and 'whatchanged' uses the standard a/ and b/ prefix and > format-patch uses old/ and new/ prefix" independently? > > > I didn't know the -p option but to send a patch to a > > mailinglist it should have the prefix I guess ? > > The participants in this project would certainly find it unusual > when they see a prefix-less patch. > > There probably are projects older than Git whose convention is to > use .noprefix; we didn't want to force them to switch and instead > accomodated their preference with .noprefix but in hindsight, it may > have been a better idea to force one true way to everybody, which > would have kept the world simpler. I dunno. I do use format-patch --no-prefix. It's unlikely that I will use diff.noprefix, though. I think other people also have different preferences. -- Danh