diff options
author | Junio C Hamano <gitster@pobox.com> | 2018-02-27 10:33:54 -0800 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2018-02-27 10:33:54 -0800 |
commit | 8b49408421bba8a928c207991bc197a226b65782 (patch) | |
tree | 8f244b7ca0f0cae55ab8f7b77ea2535e4b0d2d8f | |
parent | Merge branch 'jk/gettext-poison' (diff) | |
parent | rebase -p: fix incorrect commit message when calling `git merge`. (diff) | |
download | tgif-8b49408421bba8a928c207991bc197a226b65782.tar.xz |
Merge branch 'js/fix-merge-arg-quoting-in-rebase-p'
"git rebase -p" mangled log messages of a merge commit, which is
now fixed.
* js/fix-merge-arg-quoting-in-rebase-p:
rebase -p: fix incorrect commit message when calling `git merge`.
-rw-r--r-- | git-rebase--interactive.sh | 2 | ||||
-rwxr-xr-x | t/t3408-rebase-multi-line.sh | 26 |
2 files changed, 26 insertions, 2 deletions
diff --git a/git-rebase--interactive.sh b/git-rebase--interactive.sh index 81c5b42875..637bb3ecd5 100644 --- a/git-rebase--interactive.sh +++ b/git-rebase--interactive.sh @@ -396,7 +396,7 @@ pick_one_preserving_merges () { --sq-quote "$gpg_sign_opt")} \ $allow_rerere_autoupdate "$merge_args" \ "$strategy_args" \ - -m $(git rev-parse --sq-quote "$msg_content") \ + -m "$(git rev-parse --sq-quote "$msg_content")" \ "$new_parents" then printf "%s\n" "$msg_content" > "$GIT_DIR"/MERGE_MSG diff --git a/t/t3408-rebase-multi-line.sh b/t/t3408-rebase-multi-line.sh index 6b84e6042a..e7292f5b9b 100755 --- a/t/t3408-rebase-multi-line.sh +++ b/t/t3408-rebase-multi-line.sh @@ -24,8 +24,23 @@ But otherwise with a sane description." && >elif && git add elif && test_tick && - git commit -m second + git commit -m second && + git checkout -b side2 && + >afile && + git add afile && + test_tick && + git commit -m third && + echo hello >afile && + test_tick && + git commit -a -m fourth && + git checkout -b side-merge && + git reset --hard HEAD^^ && + git merge --no-ff -m "A merge commit log message that has a long +summary that spills over multiple lines. + +But otherwise with a sane description." side2 && + git branch side-merge-original ' test_expect_success rebase ' @@ -37,5 +52,14 @@ test_expect_success rebase ' test_cmp expect actual ' +test_expect_success rebasep ' + + git checkout side-merge && + git rebase -p side && + git cat-file commit HEAD | sed -e "1,/^\$/d" >actual && + git cat-file commit side-merge-original | sed -e "1,/^\$/d" >expect && + test_cmp expect actual + +' test_done |