[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Monotone-devel] Re: propagate by certing instead of creating a merge no
From: |
Bruce Stephens |
Subject: |
[Monotone-devel] Re: propagate by certing instead of creating a merge node |
Date: |
Mon, 02 May 2005 22:34:34 +0100 |
User-agent: |
Gnus/5.11 (Gnus v5.11) Emacs/22.0.50 (gnu/linux) |
Joel Rosdahl <address@hidden> writes:
> 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?
Yeah, I wonder whether it really makes sense. Amusingly, it's
happened to net.venge.monotone recently. If you look in monotone-viz,
net.venge.monotone appears as two disconnected graphs.
At some point, Richard created the branch
net.venge.monotone.command-specific, and presumably propagated to that
branch several times, and then
3a30a0042fac3e7e2e0d317290a501dfc3389570 is the propagation back, and
it's not a merge, so as far as monotone-viz is concerned, it's
connected to net.venge.monotone only via nodes which aren't in that
branch.
I think that can be fixed up in monotone-viz (and similar tools),
although I haven't worked out the details, but maybe it shouldn't
normally occur: maybe this special case should be handled with a merge
revision.