monotone-devel
[Top][All Lists]
Advanced

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

Re: [Monotone-devel] propagate by certing instead of creating a merge no


From: Nathaniel Smith
Subject: Re: [Monotone-devel] propagate by certing instead of creating a merge node
Date: Thu, 5 May 2005 02:57:24 -0700
User-agent: Mutt/1.5.9i

On Mon, May 02, 2005 at 08:05:03PM +0200, Joel Rosdahl wrote:
> Bruce Stephens <address@hidden> writes:
> 
> > Propagate seems to have three cases.  If you're propagating from
> > branch src to dst, then either:
> > [...]
> >    2. dst is an ancestor of src, in which case there's no merging to
> >       be done: just add src to the dst branch
> 
> I remember when this special case was introduced, and I also remember
> wondering why it was introduced. Why is it in this case better to cert
> the src head to the dst branch instead of creating a merge node?
> 
> One advantage of creating a merge node is that it gets a state and a
> log message of its own, which I think makes the intent of the action
> more prominent. But I suppose that there is some disadvantage too?

I _think_ the big reason for the special case is that creating
spurious ancestors like that makes 3-way merge harder, and it's
already hard enough.  If we switch to another merge algorithm without
this limitation, though, obviously this goes away some.  It may be
worth re-evaluating when the merge situation is more settled.

I think a sufficiently good reason to keep it this way for the moment,
really, is that it forces us to deal with the problems raised by
discontiguous branches, and since our branch formalism is quite
unambiguous about these being possible, we should be prepared to deal
with them in any case... :-)

-- Nathaniel

-- 
.i dei jitfa fanmo xatra




reply via email to

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