Squeak, source control, subversion, versioning, monticello, all that good stuff.

Colin Putney cputney at wiresong.ca
Sun Jan 29 15:08:41 UTC 2006


On Jan 29, 2006, at 6:15 AM, Alexandre Bergel wrote:

> Hi Collin!
>
>> On the other hand, we find it's pretty common to have more organic  
>> branching patterns in Monticello,
>
> What is an organic branching ?

It's not a technical term, it's just a way of describing what  
"typically" happens with Monticello packages. You get lots of little  
micro branches that get merged back together pretty quickly. You  
don't see this in CVS because CVS forces you to merge before you  
commit if your changes are not based on the latest version in the  
repository.

Simon had described a rigid branching pattern that requires fairly  
strict discipline by developers. This makes a lot of sense with CVS  
because CVS forces you to figure out the right ancestor for a three- 
way merge manually. That's why you do so much tagging in CVS; you're  
assigning names to the reversions you'll need to reference with a -j  
option in a later merge.

With Monticello, you do need some kind of naming convention if you're  
going to have multiple branches in use by many developers all a the  
same time. That way you can easily tell what versions are on what  
branches. But it doesn't need to be as strict as with CVS, because  
Monticello will always be able to find the correct common ancestor  
for a merge. And if you find you based your work on the "wrong"  
version, you can always backport your changes to the place they need  
to be. So with Monticello, the branching discipline can be a little  
more relaxed. It's a means for helping developers understand how  
versions relate to each other, not for making sure merges work  
correctly.

And that means that branches can grow a little more "naturally," or  
"organically."

Colin



More information about the Squeak-dev mailing list