[prev in list] [next in list] [prev in thread] [next in thread] 

List:       git
Subject:    Why doesn't git rebase --interactive --preserve-merges continue past known conflicts?
From:       "David D. Kilzer" <ddkilzer () kilzer ! net>
Date:       2010-12-31 19:30:46
Message-ID: 282560.39741.qm () web30004 ! mail ! mud ! yahoo ! com
[Download RAW message or body]

When I run "git rebase --interactive --preserve-merges" on a sequence of 
commits, edit an earlier commit, then run "git rebase --continue", the rebase 
operation always stops on a merge commit with a known conflict (in the rr-cache) 
instead of resolving it and continuing.

As long as I'm not rearranging commits, I expect git-rebase to resolve the known 
merge commit conflict and continue.  Why does it always stop?

I've attached a simple test case that demonstrates this behavior.

Dave

["t3404-rebase-interactive-preserve-merges.sh" (application/x-sh)]

#!/bin/sh
#
# Copyright (c) 2007 Johannes E. Schindelin
# Copyright (c) 2010 David D. Kilzer
#

test_description='git rebase --interactive --preserve-matches does not automatically \
                resolve known conflicts in merge commits'
. ./test-lib.sh

. "$TEST_DIRECTORY"/lib-rebase.sh

set_fake_editor

test_expect_success 'rebase fails' '
	git config rerere.enabled 1 &&
	test_commit A file1 &&
	test_commit B file1 &&
	git checkout -b topic HEAD^ &&
	test_commit C file1 &&
	git checkout master &&
	test_must_fail git merge topic &&
	echo D > file1 &&
	git add file1 &&
	git commit -m "Merged." &&
	FAKE_LINES="edit 1 2" git rebase -i -p HEAD~2 &&
	echo AA > file2 &&
	git add file2 &&
	git commit --amend &&
	git rebase --continue
'

test_done


--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic