]> Pileus Git - ~andy/git/blobdiff - git-rebase.sh
wt-status.h: declare global variables as extern
[~andy/git] / git-rebase.sh
index df5fd65d56bde3ed046c9ed40e62e8a17ede2e8e..bc0c1c4abc5032fe88bd22deeeb5fe5e0fee47f9 100755 (executable)
@@ -61,9 +61,9 @@ continue_merge () {
        fi
 
        cmt=`cat "$dotest/current"`
-       if ! git diff-index --quiet HEAD
+       if ! git diff-index --quiet HEAD --
        then
-               if ! git-commit -C "$cmt"
+               if ! git commit --no-verify -C "$cmt"
                then
                        echo "Commit failed, please do not call \"git commit\""
                        echo "directly, but instead do one of the following: "
@@ -179,6 +179,7 @@ do
                exit
                ;;
        --skip)
+               git reset --hard HEAD || exit $?
                if test -d "$dotest"
                then
                        git rerere clear
@@ -207,16 +208,15 @@ do
                if test -d "$dotest"
                then
                        move_to_original_branch
-                       rm -r "$dotest"
                elif test -d .dotest
                then
                        dotest=.dotest
                        move_to_original_branch
-                       rm -r .dotest
                else
                        die "No rebase in progress?"
                fi
-               git reset --hard ORIG_HEAD
+               git reset --hard $(cat $dotest/orig-head)
+               rm -r "$dotest"
                exit
                ;;
        --onto)
@@ -284,7 +284,7 @@ fi
 
 # The tree must be really really clean.
 git update-index --refresh || exit
-diff=$(git diff-index --cached --name-status -r HEAD)
+diff=$(git diff-index --cached --name-status -r HEAD --)
 case "$diff" in
 ?*)    echo "cannot rebase: your index is not up-to-date"
        echo "$diff"