monotone-devel
[Top][All Lists]
Advanced

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

Re: [Monotone-devel] Re: 3-way merge considered harmful


From: Nathaniel Smith
Subject: Re: [Monotone-devel] Re: 3-way merge considered harmful
Date: Mon, 2 May 2005 14:50:56 -0700
User-agent: Mutt/1.5.9i

On Mon, May 02, 2005 at 02:18:09PM -0700, K. Richard Pixley wrote:
> Nathaniel Smith wrote:
> 
> >Trying to code tree rearrangement conflicts as textual conflicts
> >doesn't work; I spent a few weeks trying, when we were trying to
> >figure out how to do tree rearrangement in the first place.  You can
> >conflict on moves that have the same source, or you can conflict on
> >moves that have the same destination, but you can't detect both at
> >once... (and good luck with directories!)
> >
> Sorry, I'm not following this.  I think you can represent tree 
> transformations in text, but I'm probably permanently bent by thinking 
> in clearcase terms for years.
> 
> Could you go over the problem here in a little more detail, please?

Well, it's not too important, but, anyway.  One way you might try to
detect and resolve conflicts in tree merging is by writing out files
in some cleverly chosen format that describe the various operations
involved, and then apply one's usual content merging algorithm (since
content merging is much better understood than tree merging).

The problem is that a sufficiently clever format does not seem to
exist.  (I won't go into details, because there are lots and lots of
things you can try, and we did.)  So you have to merge trees directly,
which is possible, it just takes different algorithms, and these days
those algorithms don't look as hard as they once did.  (Not that
they're easy, but not nearly so hard.)

-- Nathaniel

-- 
"On arrival in my ward I was immediately served with lunch. `This is
what you ordered yesterday.' I pointed out that I had just arrived,
only to be told: `This is what your bed ordered.'"
  -- Letter to the Editor, The Times, September 2000




reply via email to

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