Re: [PATCH] rebase -i: only automatically amend commit if HEAD did not change
Hi,
Johannes Schindelin wrote:
Show 6 quoted lines
> If the user called "rebase -i", marked a commit as "edit", "rebase
> --continue" would automatically amend the commit when there were
> staged changes.
>
> However, this is actively wrong when the current commit is not the
> one marked with "edit". So guard against this.
Show 11 quoted lines
> @@ -419,7 +419,9 @@ do
> else
> . "$DOTEST"/author-script ||
> die "Cannot find the author identity"
> - if test -f "$DOTEST"/amend
> + if test -f "$DOTEST"/amend &&
> + test $(git rev-parse HEAD) = \
> + $(cat "$DOTEST"/amend)
> then
> git reset --soft HEAD^ ||
> die "Cannot rewind the HEAD"
So if this fails, a non-amending commit is done. Agreed. :)
Regards,
Stephan
--
Stephan Beyer <s-beyer@gmx.net>, PGP 0x6EDDD207FCC5040F