summaryrefslogtreecommitdiff
path: root/git-rebase--interactive.sh
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2018-01-10 14:01:24 -0800
committerJunio C Hamano <gitster@pobox.com>2018-01-10 14:01:24 -0800
commitbc4efaf10306f23600649d4988eac0d4b2e216b7 (patch)
tree033fc524eba3db98a96b6e0da2d0ae387739d942 /git-rebase--interactive.sh
parent6366dd9000a3f67e47a30d94375a88dabc18ec6f (diff)
parentdd6fb0053ce5b6923505e64993d8061484665962 (diff)
downloadgit-bc4efaf10306f23600649d4988eac0d4b2e216b7.tar.gz
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`
Diffstat (limited to 'git-rebase--interactive.sh')
-rw-r--r--git-rebase--interactive.sh9
1 files changed, 6 insertions, 3 deletions
diff --git a/git-rebase--interactive.sh b/git-rebase--interactive.sh
index b7f95672bd..d47bd29593 100644
--- a/git-rebase--interactive.sh
+++ b/git-rebase--interactive.sh
@@ -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")"