Re: [PATCH v2] commit -c/-C/--amend: reset timestamp and authorship to committer with --reset-author

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

 



Nanako Shiraishi <nanako3@xxxxxxxxxxx> writes:

> It may be wise to forbid a combination of options if it 
> encourages mistakes or a wrong workflow, but I don't think 
> using --author and --reset-author with 'git commit --amend' 
> is such a case.
>
> Imagine somebody other than you (eg. me) were the maintainer, 
> and a message by Szeder was sent with a good commit log message.
>
>  http://article.gmane.org/gmane.comp.version-control.git/132029
>
> Then you sent a replacement patch that solves the same problem 
> in a more elegant way, but without anything that is usable as the 
> commit log message.
>
>  http://article.gmane.org/gmane.comp.version-control.git/132041
>
> If I were the maintainer, I would find it very convenient if I can 
> work like this:
>
>  % git am -s 132029   --- first I apply Szeder's version
>
> Then I see your message. Replace the code change but use Szeder's
> log message.
>
>  % git reset --hard HEAD^
>  % git am 132041   --- your version with no usable log message
>  % git commit --amend -s -c @{2} --author='Junio C Hamano <...>'

Thanks.

So you commit Szeder's and then commit mine (make them independent), and
amend the log message of the latter using the message from the former, and
assign the authorship of the latter to the resulting commit?

That is a much more understandable argument than just claiming "--author
should be usable with --reset-author" without clearly stating why that
would help.  I think you forgot to add --reset-author to the last command
line, though.

But I think it is showing that --reset-author is actually suboptimal way
to solve your scenario.  In the last command in your sequence, you don't
want to add "--reset-author --author=X" but want "--reuse-only-message"
option.

And I think it makes much more sense than the alternative semantics we
came up with during this discussion.  --mine (or --reset-author) to
declare that "I am the author" was not what we wanted after all(yes, I am
guilty for suggesting it).  What we want is "I am using -C/-c/--amend and
I want to borrow only the message part from the named commit (obviously
"amend" names the HEAD commit implicitly).  Determine the authorship
information (including author timestamp) as if I didn't use that option."
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[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]