aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunio C Hamano <junkio@cox.net>2005-08-06 20:59:47 -0700
committerJunio C Hamano <junkio@cox.net>2005-08-09 23:38:49 -0700
commit32173e69881a35e4e7a53be3ba80091ae9fa8f35 (patch)
treec9402158278e1ba219ee478337d2b2449eff21fe
parent045f82cbee3135a3d75256828b0cf101eedf38c8 (diff)
downloadgit-32173e69881a35e4e7a53be3ba80091ae9fa8f35.tar.gz
git-32173e69881a35e4e7a53be3ba80091ae9fa8f35.tar.xz
Stash away the original head in ORIG_HEAD when resetting.
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 <junkio@cox.net>
-rwxr-xr-xgit-reset-script8
1 files changed, 7 insertions, 1 deletions
diff --git a/git-reset-script b/git-reset-script
index b6476edc3..49994df7a 100755
--- 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"