summaryrefslogtreecommitdiff
path: root/git-rebase.sh
diff options
context:
space:
mode:
authorEric Wong <normalperson@yhbt.net>2006-06-25 01:29:49 (GMT)
committerJunio C Hamano <junkio@cox.net>2006-06-25 07:38:34 (GMT)
commitd5e673b60be2eb99153276366b6b5ff3277805df (patch)
tree60375d772dba1e3a4e9c43d93b6350146d0e789a /git-rebase.sh
parent9e4bc7dd1bb9d92491c475cec55147fa0b3f954d (diff)
downloadgit-d5e673b60be2eb99153276366b6b5ff3277805df.zip
git-d5e673b60be2eb99153276366b6b5ff3277805df.tar.gz
git-d5e673b60be2eb99153276366b6b5ff3277805df.tar.bz2
rebase: allow --skip to work with --merge
Now that we control the merge base selection, we won't be forced into rolling things in that we wanted to skip beforehand. Also, add a test to ensure this all works as intended. Signed-off-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'git-rebase.sh')
-rwxr-xr-xgit-rebase.sh13
1 files changed, 12 insertions, 1 deletions
diff --git a/git-rebase.sh b/git-rebase.sh
index a95ada6..9ad1c44 100755
--- a/git-rebase.sh
+++ b/git-rebase.sh
@@ -137,7 +137,18 @@ do
--skip)
if test -d "$dotest"
then
- die "--skip is not supported when using --merge"
+ prev_head="`cat $dotest/prev_head`"
+ end="`cat $dotest/end`"
+ msgnum="`cat $dotest/msgnum`"
+ msgnum=$(($msgnum + 1))
+ onto="`cat $dotest/onto`"
+ while test "$msgnum" -le "$end"
+ do
+ call_merge "$msgnum"
+ continue_merge
+ done
+ finish_rb_merge
+ exit
fi
git am -3 --skip --resolvemsg="$RESOLVEMSG"
exit