The manpage says that git-rebase supports merge strategies, but the rebase command doesn't know about -X, and gives the usage when presented with it. Signed-off-by: Mike Lundy <mike@xxxxxxxxxxxxxxxxx> --- My test modification only makes sure that the argument is accepted; it assumes merge strategies are already tested and they won't actually be needed, because there's no conflict. git-rebase.sh | 15 ++++++++++++++- t/t3402-rebase-merge.sh | 3 ++- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/git-rebase.sh b/git-rebase.sh index fb4fef7..c2a92af 100755 --- a/git-rebase.sh +++ b/git-rebase.sh @@ -44,6 +44,7 @@ To restore the original branch and stop rebasing run \"git rebase --abort\". " unset newbase strategy=recursive +strategy_opts= do_merge= dotest="$GIT_DIR"/rebase-merge prec=4 @@ -111,7 +112,7 @@ call_merge () { then export GIT_MERGE_VERBOSITY=1 fi - git-merge-$strategy "$cmt^" -- "$hd" "$cmt" + git-merge-$strategy $strategy_opts "$cmt^" -- "$hd" "$cmt" rv=$? case "$rv" in 0) @@ -295,6 +296,18 @@ do -M|-m|--m|--me|--mer|--merg|--merge) do_merge=t ;; + -X*|--strategy-option*) + case "$#,$1" in + *,*=*) + strategy_opts="$strategy_opts --`expr "z$1" : 'z-[^=]*=\(.*\)'`" ;; + 1,*) + usage ;; + *) + strategy_opts="$strategy_opts --$2" + shift ;; + esac + do_merge=t + ;; -s=*|--s=*|--st=*|--str=*|--stra=*|--strat=*|--strate=*|\ --strateg=*|--strategy=*|\ -s|--s|--st|--str|--stra|--strat|--strate|--strateg|--strategy) diff --git a/t/t3402-rebase-merge.sh b/t/t3402-rebase-merge.sh index 7b7d072..f273a37 100755 --- a/t/t3402-rebase-merge.sh +++ b/t/t3402-rebase-merge.sh @@ -51,7 +51,8 @@ test_expect_success 'reference merge' ' PRE_REBASE=$(git rev-parse test-rebase) test_expect_success rebase ' git checkout test-rebase && - GIT_TRACE=1 git rebase --merge master + GIT_TRACE=1 git rebase --merge master && + GIT_TRACE=1 git rebase --merge -X theirs master ' test_expect_success 'test-rebase@{1} is pre rebase' ' -- 1.7.0.95.g91ec93 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html