summaryrefslogtreecommitdiff
path: root/git-rebase.sh
diff options
context:
space:
mode:
authorLibravatar Eric Wong <normalperson@yhbt.net>2006-06-24 18:29:49 -0700
committerLibravatar Junio C Hamano <junkio@cox.net>2006-06-25 00:38:34 -0700
commitd5e673b60be2eb99153276366b6b5ff3277805df (patch)
tree60375d772dba1e3a4e9c43d93b6350146d0e789a /git-rebase.sh
parentrebase: cleanup rebasing with --merge (diff)
downloadtgif-d5e673b60be2eb99153276366b6b5ff3277805df.tar.xz
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 a95ada6b14..9ad1c44d48 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