summaryrefslogtreecommitdiff
path: root/t/t3402-rebase-merge.sh
diff options
context:
space:
mode:
authorMike Lundy <mike@fluffypenguin.org>2010-07-28 22:04:29 (GMT)
committerJunio C Hamano <gitster@pobox.com>2010-08-03 22:14:20 (GMT)
commit93ce190cd16b4c5ff16cc000eb75bd6e6c3238ac (patch)
tree93b79d635019465eaf5c774ac3d4ae6fc1ee666c /t/t3402-rebase-merge.sh
parent64fdc08dac6694d1e754580e7acb82dfa4988bb9 (diff)
downloadgit-93ce190cd16b4c5ff16cc000eb75bd6e6c3238ac.zip
git-93ce190cd16b4c5ff16cc000eb75bd6e6c3238ac.tar.gz
git-93ce190cd16b4c5ff16cc000eb75bd6e6c3238ac.tar.bz2
rebase: support -X to pass through strategy options
git-rebase calls out to merge strategies, but did not support merge strategy options so far. Add this, in the same style used in git-merge. Sadly we have to do the full quoting/eval dance here, since merge-recursive supports the --subtree=<path> option which potentially contains whitespace. This patch does not cover git rebase -i, which does not call any merge strategy directly except in --preserve-merges, and even then only for merges. [jc: with a trivial fix-up for 'expr'] Signed-off-by: Mike Lundy <mike@fluffypenguin.org> Signed-off-by: Thomas Rast <trast@student.ethz.ch> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/t3402-rebase-merge.sh')
-rwxr-xr-xt/t3402-rebase-merge.sh9
1 files changed, 9 insertions, 0 deletions
diff --git a/t/t3402-rebase-merge.sh b/t/t3402-rebase-merge.sh
index 7b7d072..2bea656 100755
--- a/t/t3402-rebase-merge.sh
+++ b/t/t3402-rebase-merge.sh
@@ -74,6 +74,15 @@ test_expect_success 'rebase the other way' '
git rebase --merge side
'
+test_expect_success 'rebase -Xtheirs' '
+ git checkout -b conflicting master~2 &&
+ echo "AB $T" >> original &&
+ git commit -mconflicting original &&
+ git rebase -Xtheirs master &&
+ grep AB original &&
+ ! grep 11 original
+'
+
test_expect_success 'merge and rebase should match' '
git diff-tree -r test-rebase test-merge >difference &&
if test -s difference