Re: [PATCH] format-patch: output header for empty commits

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Mar 03, 2023 at 09:13:27AM -0800, Junio C Hamano wrote:
> John Keeping <john@xxxxxxxxxxxxx> writes:
> 
> > When formatting an empty commit, it is surprising that a totally empty
> > file is generated.  Set the flag to always print the header, matching
> > the behaviour of git-log.
> 
> Don't these empty files help send-email as safety against sending
> them out?  Unless existing tools depend on the current behaviour in
> such a way, I think this is quite a sensible change.

Yes, send-email fails trying to send an empty file, but to me this feels
more like an accident than an intentional safeguard.  If there were
something intentional I'd expect format-patch to fail with --allow-empty
as an option to bypass that safety check.

Since there are checks in place to avoid unintentionally creating empty
commits, it seems reasonable for format-patch to create output that
represents what is present in the repository without needing extra
options.

> > diff --git a/t/t4014-format-patch.sh b/t/t4014-format-patch.sh
> > index f3313b8c58..ffc7c60680 100755
> > --- a/t/t4014-format-patch.sh
> > +++ b/t/t4014-format-patch.sh
> > @@ -59,6 +59,10 @@ test_expect_success setup '
> >  	test_tick &&
> >  	git commit -m "patchid 3" &&
> >  
> > +	git checkout -b empty main &&
> > +	test_tick &&
> > +	git commit --allow-empty -m "empty commit" &&
> > +
> >  	git checkout main
> >  '
> >  
> > @@ -128,6 +132,12 @@ test_expect_success 'replay did not screw up the log message' '
> >  	grep "^Side .* with .* backslash-n" actual
> >  '
> >  
> > +test_expect_success 'format-patch empty commit' '
> > +	git format-patch --stdout main..empty >empty &&
> > +	grep "^From " empty >from &&
> > +	test_line_count = 1 from
> > +'
> > +
> >  test_expect_success 'extra headers' '
> >  	git config format.headers "To: R E Cipient <rcipient@xxxxxxxxxxx>
> >  " &&



[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux