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 <[EMAIL PROTECTED]>

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(-)

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

To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to