Hi, On Mon, 8 Sep 2008, Junio C Hamano wrote: > Dmitry Potapov <dpotapov@xxxxxxxxx> writes: > > > If git rebase interactive is stopped by "edit" command and then the user > > said "git rebase --continue" while having some stage changes, git rebase > > interactive is trying to amend the last commit by doing: > > git --soft reset && git commit > > > > However, the user can abort commit for some reason by providing an empty > > log message, and that would leave the last commit undone, while the user > > being completely unaware about what happened. Now if the user tries to > > continue, by issuing "git rebase --continue" that squashes two previous > > commits. > > > > Signed-off-by: Dmitry Potapov <dpotapov@xxxxxxxxx> > > --- > > git-rebase--interactive.sh | 7 +++++-- > > 1 files changed, 5 insertions(+), 2 deletions(-) > > > > diff --git a/git-rebase--interactive.sh b/git-rebase--interactive.sh > > index 929d681..5b2b1e5 100755 > > --- a/git-rebase--interactive.sh > > +++ b/git-rebase--interactive.sh > > @@ -429,12 +429,15 @@ do > > die "Cannot find the author identity" > > if test -f "$DOTEST"/amend > > then > > + amend=$(git rev-parse --verify HEAD) > > git reset --soft HEAD^ || > > die "Cannot rewind the HEAD" > > fi > > export GIT_AUTHOR_NAME GIT_AUTHOR_EMAIL GIT_AUTHOR_DATE && > > - git commit --no-verify -F "$DOTEST"/message -e || > > - die "Could not commit staged changes." > > + git commit --no-verify -F "$DOTEST"/message -e || { > > + test -n "$amend" && git reset --soft $amend > > + die "Could not commit staged changes." > > + } > > fi > > Feels obviously correct from a cursory look, although I admit I haven't > thought about other possible corner cases that this additional reset may > fire when it shouldn't. Dscho? It might be safer to set the variable "amend" to empty before the "if". Other than that, I think that patch makes tons of sense. Thanks, Dscho -- 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