[Top][All Lists]



From: Markus Schiltknecht
Date: Tue, 18 Sep 2007 14:01:35 +0200
User-agent: Icedove (X11/20070730)

Hi Bruce,

Bruce Stephens wrote:
I don't think monotone has such a restriction.  I think it happens not
to create such revisions at present, but I don't think there's any
intrinsic requirement that a revision has at most two parents.  I
imagine an importer from cvs2svn would use "automate put_revision" or
something, and I suspect that'll be happy with any number of parent

Yes, there is code which relies on having exactly one or two parents. AFAIK mainly the mark merge gets difficult when handling revisions with multiple parents.

I agreed that revisions with multiple parents *should* be supported. Even if they are mainly useful for such imports or hand merged revisions. But one needs to think around the mark merge issues, among other probably smaller problems.

Yes, I think the former. I think it would be natural to have them on a
branch, maybe one named relative to the tag name.  (Or identical to
the tag name, as you did with git.)

Agreed. One might even argue if it's necessary to the tag the head of that branch. Because obviously, that wasn't really a tag in CVS, but much more like a branch.

Especially for incremental imports, that will get tricky!

(In git it's normal for a branch to contain divergence in its past,
Uh.. what do you mean by that?

I mean the graph of a branch may not be linear, but will (by
definition) only have one head.  Such a thing will be the result of a
merge, and at that point the two (or more) things being merged would
normally be distinct branches.  In monotone it's normal just to let a
branch fork for short periods, but in git that doesn't really make
sense---each of the forks is a separate branch.

Aha, understood. I stumbled across the "contain divergence in its past", which is very well possible with monotone, too.



reply via email to

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