Re: Two-phase merge
From: Julian Foad <julianfoad_at_btopenworld.com>
Date: Wed, 25 Apr 2012 13:40:29 +0100 (BST)
Stefan Fuhrmann wrote:
> This one is basically the technical post promised in my
Yes. That is likely to be a significant cause of extra conflict in cases where the user has sub-tree mergeinfo or has done some cherry-pick merges and is now doing a "merge everything else" merge.
> This increases the probability of
(That is: after each phase of the N revision-range phases that the merge got broken into.)
> Moreover, it masks cases
I understand, but I don't know of any examples on the Wiki yet.
> I propose to use the following two-phase merge workflow:
OK, the significant change here is not so much the two-phase (although that has merit in itself) but rather turning the processing order inside-out from (conceptually)
REV_RANGES = [contiguous-revision-ranges needed for TREE]
to (conceptually)
for each NODE in the TREE:
This is a good idea in itself. It certainly brings advantages as mentioned above. I'm not sure what, if any, disadvantages it might have.
I don't know that the scenarios this helps with are our main concern at this point. It would be good to keep this approach in mind when writing or designing any new merge code. In terms of development effort I think it's more valuable to concentrate first on the advantages to to-and-fro merging (most commonly without subtree merges and without cherry-picks) that the 'symmetric merge' brings.
- Julian
|
This is an archived mail posted to the Subversion Dev mailing list.
This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.