gnu-arch-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gnu-arch-users] Re: Sparse `replay' and `star-merge'


From: Matthieu Moy
Subject: [Gnu-arch-users] Re: Sparse `replay' and `star-merge'
Date: Mon, 07 Nov 2005 15:54:32 +0100
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.0.50 (gnu/linux)

address@hidden (Ludovic Courtès) writes:

> Apparently, `star-merge' saw that MY-BRANCH--patch-9 was merged into
> HIS-BRANCH and made the wrong assumption that _all_ patches prior to
> MY-BRANCH--patch-9 had been merged into HIS-BRANCH.

star-merge computes a common ancestor, and either applies the delta
(common-ancestor, HIS-BRANCH) or do a three-way-merge (if you have no
conflicts, the result should be identical).

This approach is known to work badly in the presence of cherrypicked
patches. That's life, merge + cherrypick is a difficult problem
actually :-(. This is one of the reason why bzr implemented a merge
operator based on weaves, which seems to work better in this case. I
suppose darcs should do a good job in this case too.

> If it is, is there a way to get around this beside selective replays?

"replay --skip-present" is probably the best solution, but it may skip
patches containing changes that you actually wanted.

Once you get back to the situation where you merged "all patches up to
X", you can safely use star-merge again.

-- 
Matthieu




reply via email to

[Prev in Thread] Current Thread [Next in Thread]