rebase -i: Introduce a constant AMEND

Add a constant AMEND holding the filename of the $DOTEST/amend file,
and document how this temporary file is used.

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Michael Haggerty 2010-01-14 06:54:47 +01:00 committed by Junio C Hamano
parent 0aac0de4fe
commit a4049ae7ac

View File

@ -80,6 +80,14 @@ DROPPED="$DOTEST"/dropped
# being rebased. # being rebased.
AUTHOR_SCRIPT="$DOTEST"/author-script AUTHOR_SCRIPT="$DOTEST"/author-script
# When an "edit" rebase command is being processed, the SHA1 of the
# commit to be edited is recorded in this file. When "git rebase
# --continue" is executed, if there are any staged changes then they
# will be amended to the HEAD commit, but only provided the HEAD
# commit is still the commit to be edited. When any other rebase
# command is processed, this file is deleted.
AMEND="$DOTEST"/amend
PRESERVE_MERGES= PRESERVE_MERGES=
STRATEGY= STRATEGY=
ONTO= ONTO=
@ -381,7 +389,7 @@ peek_next_command () {
} }
do_next () { do_next () {
rm -f "$MSG" "$AUTHOR_SCRIPT" "$DOTEST"/amend || exit rm -f "$MSG" "$AUTHOR_SCRIPT" "$AMEND" || exit
read command sha1 rest < "$TODO" read command sha1 rest < "$TODO"
case "$command" in case "$command" in
'#'*|''|noop) '#'*|''|noop)
@ -409,7 +417,7 @@ do_next () {
pick_one $sha1 || pick_one $sha1 ||
die_with_patch $sha1 "Could not apply $sha1... $rest" die_with_patch $sha1 "Could not apply $sha1... $rest"
make_patch $sha1 make_patch $sha1
git rev-parse --verify HEAD > "$DOTEST"/amend git rev-parse --verify HEAD > "$AMEND"
warn "Stopped at $sha1... $rest" warn "Stopped at $sha1... $rest"
warn "You can amend the commit now, with" warn "You can amend the commit now, with"
warn warn
@ -587,10 +595,10 @@ do
. "$AUTHOR_SCRIPT" || . "$AUTHOR_SCRIPT" ||
die "Cannot find the author identity" die "Cannot find the author identity"
amend= amend=
if test -f "$DOTEST"/amend if test -f "$AMEND"
then then
amend=$(git rev-parse --verify HEAD) amend=$(git rev-parse --verify HEAD)
test "$amend" = $(cat "$DOTEST"/amend) || test "$amend" = $(cat "$AMEND") ||
die "\ die "\
You have uncommitted changes in your working tree. Please, commit them You have uncommitted changes in your working tree. Please, commit them
first and then run 'git rebase --continue' again." first and then run 'git rebase --continue' again."