Merge algorithms
Aaron Bentley
aaron at aaronbentley.com
Fri Sep 10 15:25:52 BST 2010
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
On 09/10/2010 03:30 AM, Alexander Belchenko wrote:
> Martin Pool пишет:
>> merge3 merger is the default, and is fast. lca is probably the best
>> choice if you get a warning about criss-cross merges, or if you want a
>> bit more power at resolving conflicts, and it should be only
>> incrementally slower.
>
> In my experiments weave is more accurate and (in average) produce less
> conflicts than lca in the case of criss-cross.
Having fewer conflicts doesn't mean that weave is a better algorithm.
weave merge ignores some conflicts by design, and simply picks one side.
This is why it gets fewer conflicts.
Specifically, when you have a criss-cross merge, you have two cases
where X was merged with Y. These may be different, primarily because
you have two different users resolving the conflicts, but also because
of differences in merge algorithms.
When there are two possible outputs of merging X with Y, LCA merge
considers this a conflict. weave silently resolves in favour of the
tree being merged into.
Whether that's better or worse is a judgement call.
Aaron
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
iEYEARECAAYFAkyKP+wACgkQ0F+nu1YWqI3jEgCfTggEkQua/da8UCGlylmDplrA
V5kAmwWq5RVGALmVka7GMWFuZw0H4LZo
=SPCu
-----END PGP SIGNATURE-----
More information about the bazaar
mailing list