Merge branch 'mz/rebase-abort-reflog-fix'
authorJunio C Hamano <gitster@pobox.com>
Mon, 13 Dec 2010 05:49:51 +0000 (21:49 -0800)
committerJunio C Hamano <gitster@pobox.com>
Mon, 13 Dec 2010 05:49:51 +0000 (21:49 -0800)
* mz/rebase-abort-reflog-fix:
rebase --abort: do not update branch ref

1  2 
git-rebase.sh
diff --combined git-rebase.sh
index 9a6d7a4730a3ca81a4060f73b2be516fe235bb43,7c38c00a1e624553044512cdb737595bd66a46d6..3459fe4f60e99586dd6ce5490567afac0172cdf6
@@@ -49,8 -49,7 +49,8 @@@ do_merge
  dotest="$GIT_DIR"/rebase-merge
  prec=4
  verbose=
 -diffstat=$(git config --bool rebase.stat)
 +diffstat=
 +test "$(git config --bool rebase.stat)" = true && diffstat=t
  git_am_opt=
  rebase_root=
  force_rebase=
                        die "No rebase in progress?"
  
                git rerere clear
-               if test -d "$dotest"
-               then
-                       GIT_QUIET=$(cat "$dotest/quiet")
-                       move_to_original_branch
-               else
-                       dotest="$GIT_DIR"/rebase-apply
-                       GIT_QUIET=$(cat "$dotest/quiet")
-                       move_to_original_branch
-               fi
+               test -d "$dotest" || dotest="$GIT_DIR"/rebase-apply
+               head_name="$(cat "$dotest"/head-name)" &&
+               case "$head_name" in
+               refs/*)
+                       git symbolic-ref HEAD $head_name ||
+                       die "Could not move back to $head_name"
+                       ;;
+               esac
                git reset --hard $(cat "$dotest/orig-head")
                rm -r "$dotest"
                exit
@@@ -413,7 -413,19 +414,7 @@@ els
        fi
  fi
  
 -# The tree must be really really clean.
 -if ! git update-index --ignore-submodules --refresh > /dev/null; then
 -      echo >&2 "cannot rebase: you have unstaged changes"
 -      git diff-files --name-status -r --ignore-submodules -- >&2
 -      exit 1
 -fi
 -diff=$(git diff-index --cached --name-status -r --ignore-submodules HEAD --)
 -case "$diff" in
 -?*)   echo >&2 "cannot rebase: your index contains uncommitted changes"
 -      echo >&2 "$diff"
 -      exit 1
 -      ;;
 -esac
 +require_clean_work_tree "rebase" "Please commit or stash them."
  
  if test -z "$rebase_root"
  then