From: Junio C Hamano Date: Mon, 08 Aug 2005 06:06:56 GMT Subject: [PATCH] Stash away the original head in ORIG_HEAD when resetting. Message-ID: <7vy87dgdxb.fsf@assigned-by-dhcp.cox.net> When rewinding the head, stash away the value of the original HEAD in ORIG_HEAD, just like git-resolve-script does. Signed-off-by: Junio C Hamano --- Since rewinding the head is a dangerous operation, saving it somewhere just in case would make life a bit safer. This also lets you do: $ git commit ... "oops, I forgot to include that fix." $ git reset HEAD^1 ... edit away and update-cache $ git commit -m ORIG_HEAD to reuse the old commit message. git-reset-script | 8 +++++++- 1 files changed, 7 insertions(+), 1 deletions(-) 87aced8864d926cf870ddfb2ca7ac5784fccb911 diff --git a/git-reset-script b/git-reset-script --- a/git-reset-script +++ b/git-reset-script @@ -2,6 +2,12 @@ . git-sh-setup-script || die "Not a git archive" rev=$(git-rev-parse --revs-only --verify --default HEAD "$@") || exit rev=$(git-rev-parse --revs-only --verify $rev^0) || exit -git-read-tree --reset "$rev" && echo "$rev" > "$GIT_DIR/HEAD" +git-read-tree --reset "$rev" && { + if orig=$(git-rev-parse --verify HEAD 2>/dev/null) + then + echo "$orig" >"$GIT_DIR/ORIG_HEAD" + fi + echo "$rev" > "$GIT_DIR/HEAD" +} git-update-cache --refresh rm -f "$GIT_DIR/MERGE_HEAD"