Browse Source

Merge branch 'rt/rebase-p-no-merge-summary' into maint

* rt/rebase-p-no-merge-summary:
  rebase --preserve-merges: ignore "merge.log" config
maint
Junio C Hamano 11 years ago
parent
commit
9a3a02b605
  1. 3
      git-rebase--interactive.sh
  2. 23
      t/t3409-rebase-preserve-merges.sh

3
git-rebase--interactive.sh

@ -352,8 +352,9 @@ pick_one_preserving_merges () { @@ -352,8 +352,9 @@ pick_one_preserving_merges () {
msg_content="$(commit_message $sha1)"
# No point in merging the first parent, that's HEAD
new_parents=${new_parents# $first_parent}
merge_args="--no-log --no-ff"
if ! do_with_author output eval \
'git merge --no-ff $strategy_args -m "$msg_content" $new_parents'
'git merge $merge_args $strategy_args -m "$msg_content" $new_parents'
then
printf "%s\n" "$msg_content" > "$GIT_DIR"/MERGE_MSG
die_with_patch $sha1 "Error redoing merge $sha1"

23
t/t3409-rebase-preserve-merges.sh

@ -28,6 +28,8 @@ export GIT_AUTHOR_EMAIL @@ -28,6 +28,8 @@ export GIT_AUTHOR_EMAIL
# \--A3 <-- topic2
# \
# B2 <-- origin/topic
#
# Clone 4 (same as Clone 3)

test_expect_success 'setup for merge-preserving rebase' \
'echo First > A &&
@ -64,6 +66,16 @@ test_expect_success 'setup for merge-preserving rebase' \ @@ -64,6 +66,16 @@ test_expect_success 'setup for merge-preserving rebase' \
git merge --no-ff topic2
) &&

git clone ./. clone4 &&
(
cd clone4 &&
git checkout -b topic2 origin/topic &&
echo Sixth > A &&
git commit -a -m "Modify A3" &&
git checkout -b topic origin/topic &&
git merge --no-ff topic2
) &&

git checkout topic &&
echo Fourth >> B &&
git commit -a -m "Modify B2"
@ -96,4 +108,15 @@ test_expect_success 'rebase -p preserves no-ff merges' ' @@ -96,4 +108,15 @@ test_expect_success 'rebase -p preserves no-ff merges' '
)
'

test_expect_success 'rebase -p ignores merge.log config' '
(
cd clone4 &&
git fetch &&
git -c merge.log=1 rebase -p origin/topic &&
echo >expected &&
git log --format="%b" -1 >current &&
test_cmp expected current
)
'

test_done

Loading…
Cancel
Save