@ -14,7 +14,7 @@ It is possible that a merge failure will prevent this process from being
completely automatic. You will have to resolve any such merge failure
completely automatic. You will have to resolve any such merge failure
and run git rebase --continue. Another option is to bypass the commit
and run git rebase --continue. Another option is to bypass the commit
that caused the merge failure with git rebase --skip. To restore the
that caused the merge failure with git rebase --skip. To restore the
original <branch> and remove the .dotest working files, use the command
original <branch> and remove the .git/rebase working files, use the command
git rebase --abort instead.
git rebase --abort instead.
Note that if <branch> is not specified on the command line, the
Note that if <branch> is not specified on the command line, the
@ -42,7 +42,7 @@ To restore the original branch and stop rebasing run \"git rebase --abort\".
unset newbase
unset newbase
strategy=recursive
strategy=recursive
do_merge=
do_merge=
dotest=$GIT_DIR/.dotest-merge
dotest="$GIT_DIR"/rebase-merge
prec=4
prec=4
verbose=
verbose=
git_am_opt=
git_am_opt=
@ -150,7 +150,7 @@ while test $# != 0
do
do
case "$1" in
case "$1" in
--continue)
--continue)
test -d "$dotest" -o -d .dotest ||
test -d "$dotest" -o -d "$GIT_DIR"/rebase ||
die "No rebase in progress?"
die "No rebase in progress?"
git diff-files --quiet --ignore-submodules || {
git diff-files --quiet --ignore-submodules || {
@ -173,15 +173,15 @@ do
finish_rb_merge
finish_rb_merge
exit
exit
fi
fi
head_name=$(cat .dotest/head-name) &&
head_name=$(cat "$GIT_DIR"/rebase/head-name) &&
onto=$(cat .dotest/onto) &&
onto=$(cat "$GIT_DIR"/rebase/onto) &&
orig_head=$(cat .dotest/orig-head) &&
orig_head=$(cat "$GIT_DIR"/rebase/orig-head) &&
git am --resolved --3way --resolvemsg="$RESOLVEMSG" &&
git am --resolved --3way --resolvemsg="$RESOLVEMSG" &&
move_to_original_branch
move_to_original_branch
exit
exit
;;
;;
--skip)
--skip)
test -d "$dotest" -o -d .dotest ||
test -d "$dotest" -o -d "$GIT_DIR"/rebase ||
die "No rebase in progress?"
die "No rebase in progress?"
git reset --hard HEAD || exit $?
git reset --hard HEAD || exit $?
@ -201,15 +201,15 @@ do
finish_rb_merge
finish_rb_merge
exit
exit
fi
fi
head_name=$(cat .dotest/head-name) &&
head_name=$(cat "$GIT_DIR"/rebase/head-name) &&
onto=$(cat .dotest/onto) &&
onto=$(cat "$GIT_DIR"/rebase/onto) &&
orig_head=$(cat .dotest/orig-head) &&
orig_head=$(cat "$GIT_DIR"/rebase/orig-head) &&
git am -3 --skip --resolvemsg="$RESOLVEMSG" &&
git am -3 --skip --resolvemsg="$RESOLVEMSG" &&
move_to_original_branch
move_to_original_branch
exit
exit
;;
;;
--abort)
--abort)
test -d "$dotest" -o -d .dotest ||
test -d "$dotest" -o -d "$GIT_DIR"/rebase ||
die "No rebase in progress?"
die "No rebase in progress?"
git rerere clear
git rerere clear
@ -217,7 +217,7 @@ do
then
then
move_to_original_branch
move_to_original_branch
else
else
dotest=.dotest
dotest="$GIT_DIR"/rebase
move_to_original_branch
move_to_original_branch
fi
fi
git reset --hard $(cat "$dotest/orig-head")
git reset --hard $(cat "$dotest/orig-head")
@ -265,24 +265,24 @@ do
shift
shift
done
done
# Make sure we do not have .dotest
# Make sure we do not have $GIT_DIR/rebase
if test -z "$do_merge"
if test -z "$do_merge"
then
then
if mkdir .dotest
if mkdir "$GIT_DIR"/rebase
then
then
rmdir .dotest
rmdir "$GIT_DIR"/rebase
else
else
echo >&2 '
echo >&2 '
It seems that I cannot create a .dotest directory, and I wonder if you
It seems that I cannot create a '"$GIT_DIR"'/rebase directory, and I wonder if you
are in the middle of patch application or another rebase. If that is not
are in the middle of patch application or another rebase. If that is not
the case, please rm -fr .dotest and run me again. I am stopping in case
the case, please rm -fr '"$GIT_DIR"'/rebase and run me again. I am stopping in case
you still have something valuable there.'
you still have something valuable there.'
exit 1
exit 1
fi
fi
else
else
if test -d "$dotest"
if test -d "$dotest"
then
then
die "previous dotest directory $dotest still exists." \
die "previous rebase directory $dotest still exists." \
'try git-rebase < --continue | --abort >'
'try git-rebase < --continue | --abort >'
fi
fi
fi
fi
@ -396,10 +396,10 @@ then
git am $git_am_opt --rebasing --resolvemsg="$RESOLVEMSG" &&
git am $git_am_opt --rebasing --resolvemsg="$RESOLVEMSG" &&
move_to_original_branch
move_to_original_branch
ret=$?
ret=$?
test 0 != $ret -a -d .dotest &&
test 0 != $ret -a -d "$GIT_DIR"/rebase &&
echo $head_name > .dotest/head-name &&
echo $head_name > "$GIT_DIR"/rebase/head-name &&
echo $onto > .dotest/onto &&
echo $onto > "$GIT_DIR"/rebase/onto &&
echo $orig_head > .dotest/orig-head
echo $orig_head > "$GIT_DIR"/rebase/orig-head
exit $ret
exit $ret
fi
fi