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