summaryrefslogtreecommitdiff
path: root/git-rebase.sh
diff options
context:
space:
mode:
authorStephan Beyer <s-beyer@gmx.net>2008-06-22 16:07:02 +0200
committerJunio C Hamano <gitster@pobox.com>2008-06-22 18:09:15 -0700
commitcd5320f25228b4c3bbef2391df2696dca09d3d46 (patch)
tree6c65433a334ccfb8f4385238417c9640fbcb63fa /git-rebase.sh
parent3b2bbe9b8584947e33e9149f605149530faa7361 (diff)
downloadgit-cd5320f25228b4c3bbef2391df2696dca09d3d46.tar.gz
git-rebase.sh: Add check if rebase is in progress
"git rebase --continue" and friends gave nonsense errors when there is no rebase in progress. Signed-off-by: Stephan Beyer <s-beyer@gmx.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'git-rebase.sh')
-rwxr-xr-xgit-rebase.sh14
1 files changed, 10 insertions, 4 deletions
diff --git a/git-rebase.sh b/git-rebase.sh
index dd7dfe123c..e2d85eeeab 100755
--- a/git-rebase.sh
+++ b/git-rebase.sh
@@ -150,6 +150,9 @@ while test $# != 0
do
case "$1" in
--continue)
+ test -d "$dotest" -o -d .dotest ||
+ die "No rebase in progress?"
+
git diff-files --quiet --ignore-submodules || {
echo "You must edit all merge conflicts and then"
echo "mark them as resolved using git add"
@@ -178,6 +181,9 @@ do
exit
;;
--skip)
+ test -d "$dotest" -o -d .dotest ||
+ die "No rebase in progress?"
+
git reset --hard HEAD || exit $?
if test -d "$dotest"
then
@@ -203,16 +209,16 @@ do
exit
;;
--abort)
+ test -d "$dotest" -o -d .dotest ||
+ die "No rebase in progress?"
+
git rerere clear
if test -d "$dotest"
then
move_to_original_branch
- elif test -d .dotest
- then
+ else
dotest=.dotest
move_to_original_branch
- else
- die "No rebase in progress?"
fi
git reset --hard $(cat "$dotest/orig-head")
rm -r "$dotest"