Gerhard Fiedler wrote: > Peter Todd wrote: > >>>> That said if anyone does take a look at that repository... To make >>>> sense of it, you're best bet is to get the monotone-viz program, which >>>> shows you how the different revisions relate graphically. It makes >>>> pretty, if frighteningly complex, pictures too! >>> >>> Do you have any links to documentation of how the monotone merge works >>> differently from e.g. cvs merge? >> >> I took a look around and couldn't find anything directly comparing the >> two. The best practices stuff on the wiki are interesting though: > > Thanks for looking this up. Interesting thoughts. I think the main > difference to CVSNT is the "lighter weight" of branches. On more reading, the ability to create a branch on commit (as opposed to creating it before editing) seems to be one thing that makes this easier to use for the "happy branching" style of development you're talking about. I'll have to try, but I think a script of some sort can do this with CVS/CVSNT/SVN repos also. This would definitely be helpful in some situations, especially when trying to use some of the techniques these docs describe. One thing I was wondering, and the docs I've read didn't touch this. Say you have revisions A, B, and so on through G implementing several features. Now you do some cherry picking and merge into a branch R the revisions/features D and E. The branch R advances with other changes, and at a later point you decide that you want more of these features. You forget that you already merged D and E, and just merge B through G into R. For all I know, on CVS/CVSNT/SVN, this would create merge conflicts on the places where D and E were merged in but modified (which often is needed when merging in), as the system has no way of knowing that the modification means the same thing as the original and is just necessary to integrate the original -- and they are also not smart enough to exclude the changesets D and E from the merge (because they already have been merged before). How's that in monotone? Does it remember that D and E have been merged in before and skips them when you tell it to merge B through G? Thanks, Gerhard -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist