Codeville Merge
Martin Pool
mbp at sourcefrog.net
Mon May 9 23:47:11 BST 2005
On 9 May 2005, "Shane Holloway (IEEE)" <shane.holloway at ieee.org> wrote:
> Doing my normal news rounds, I found a reference to `CodeVille`_ on
> freshmeat. (BSD license.) The project claims to have a novel approach
> to merge taking O(n*log(n)) time. May or may not help your efforts, but
> I figured I'd pass the link on to those those who know more about
> merging than I. ;)
Hi,
Yes, I have run into it before. The merge algorithm is quite
interesting. There are some notes on it in the bzr doc directory.
(Indeed at the time there was more explanation in my notes than in the
Codeville source, which is rather terse.)
Codeville merge can, I think, be done on top of any VCS that keeps
track of merges, and we might add it later on. (Some of them it might
be very slow but that can be fixed.)
Nobody seems to have yet discovered a merge algorithm which handles
all complex cases correctly, though different algorithms have trouble
in different places. My theory is that what's most important for most
users is not the absolute power of the algorithm, but rather when it
hits a situation it can't automatically merge it fails in an
understandable and obvious way. Exotic merges tend to do less well at
this than a good regular 3way -- darcs is in theory very clever, but
in practice can be very confusing.
Rusty suggested the other day that semantically-aware 3-way diffs may
do very well -- something that looks at the code not just as a series
of lines, but with the knowledge that it may be e.g. a Python program.
That's another reason to keep the underlying model fairly separate
from the choice of merge algorithms.
--
Martin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
Url : https://lists.ubuntu.com/archives/bazaar/attachments/20050510/d5870846/attachment.pgp
More information about the bazaar
mailing list