diff options
author | Michael Haggerty <mhagger@alum.mit.edu> | 2010-01-14 06:54:47 +0100 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2010-01-14 00:27:56 -0800 |
commit | a4049ae7ac97cb8887e9cd499c4dd0fed0eb968d (patch) | |
tree | fbd4964beec55bcac95755cca8ab51d540f17952 | |
parent | 0aac0de4feb569ed17d501f04f17ecb8801dbad9 (diff) | |
download | git-a4049ae7ac97cb8887e9cd499c4dd0fed0eb968d.tar.gz |
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>
-rwxr-xr-x | git-rebase--interactive.sh | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/git-rebase--interactive.sh b/git-rebase--interactive.sh index 17641d444e..31f9b3b038 100755 --- a/git-rebase--interactive.sh +++ b/git-rebase--interactive.sh @@ -80,6 +80,14 @@ DROPPED="$DOTEST"/dropped # being rebased. 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= STRATEGY= ONTO= @@ -381,7 +389,7 @@ peek_next_command () { } do_next () { - rm -f "$MSG" "$AUTHOR_SCRIPT" "$DOTEST"/amend || exit + rm -f "$MSG" "$AUTHOR_SCRIPT" "$AMEND" || exit read command sha1 rest < "$TODO" case "$command" in '#'*|''|noop) @@ -409,7 +417,7 @@ do_next () { pick_one $sha1 || die_with_patch $sha1 "Could not apply $sha1... $rest" make_patch $sha1 - git rev-parse --verify HEAD > "$DOTEST"/amend + git rev-parse --verify HEAD > "$AMEND" warn "Stopped at $sha1... $rest" warn "You can amend the commit now, with" warn @@ -587,10 +595,10 @@ do . "$AUTHOR_SCRIPT" || die "Cannot find the author identity" amend= - if test -f "$DOTEST"/amend + if test -f "$AMEND" then amend=$(git rev-parse --verify HEAD) - test "$amend" = $(cat "$DOTEST"/amend) || + test "$amend" = $(cat "$AMEND") || die "\ You have uncommitted changes in your working tree. Please, commit them first and then run 'git rebase --continue' again." |