Joel Rosdahl <[EMAIL PROTECTED]> writes:

> Bruce Stephens <[EMAIL PROTECTED]> 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.


_______________________________________________
Monotone-devel mailing list
Monotone-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/monotone-devel

Reply via email to