Merge branch 'js/fix-merge-arg-quoting-in-rebase-p'
"git rebase -p -X<option>" did not propagate the option properly down to underlying merge strategy backend. * js/fix-merge-arg-quoting-in-rebase-p: rebase -p: fix quoting when calling `git merge`
This commit is contained in:
commit
bc4efaf103
@ -392,9 +392,12 @@ pick_one_preserving_merges () {
|
||||
new_parents=${new_parents# $first_parent}
|
||||
merge_args="--no-log --no-ff"
|
||||
if ! do_with_author output eval \
|
||||
'git merge ${gpg_sign_opt:+"$gpg_sign_opt"} \
|
||||
$allow_rerere_autoupdate $merge_args \
|
||||
$strategy_args -m "$msg_content" $new_parents'
|
||||
git merge ${gpg_sign_opt:+$(git rev-parse \
|
||||
--sq-quote "$gpg_sign_opt")} \
|
||||
$allow_rerere_autoupdate "$merge_args" \
|
||||
"$strategy_args" \
|
||||
-m $(git rev-parse --sq-quote "$msg_content") \
|
||||
"$new_parents"
|
||||
then
|
||||
printf "%s\n" "$msg_content" > "$GIT_DIR"/MERGE_MSG
|
||||
die_with_patch $sha1 "$(eval_gettext "Error redoing merge \$sha1")"
|
||||
|
@ -74,6 +74,20 @@ test_expect_success 'rebase --continue remembers merge strategy and options' '
|
||||
test -f funny.was.run
|
||||
'
|
||||
|
||||
test_expect_success 'rebase passes merge strategy options correctly' '
|
||||
rm -fr .git/rebase-* &&
|
||||
git reset --hard commit-new-file-F3-on-topic-branch &&
|
||||
test_commit theirs-to-merge &&
|
||||
git reset --hard HEAD^ &&
|
||||
test_commit some-commit &&
|
||||
test_tick &&
|
||||
git merge --no-ff theirs-to-merge &&
|
||||
FAKE_LINES="1 edit 2 3" git rebase -i -f -p -m \
|
||||
-s recursive --strategy-option=theirs HEAD~2 &&
|
||||
test_commit force-change &&
|
||||
git rebase --continue
|
||||
'
|
||||
|
||||
test_expect_success 'setup rerere database' '
|
||||
rm -fr .git/rebase-* &&
|
||||
git reset --hard commit-new-file-F3-on-topic-branch &&
|
||||
|
Loading…
Reference in New Issue
Block a user