We've just switched from CVS to Perforce for source control at work, and the Perforce docs pointed to an amazing paper about branching: Streamed Lines: Branching Patterns for Parallel Software Development.

It is truly a catalog of patterns, but rather than being about architecture or software design, they are about how to branch (work simultaneously on more than one release of software).

It is a stunningly comprehensive paper, laying out 32 patterns (eight each for elements, creation, policy and structuring), then working through variations of a number of them, and ending with traps and pitfalls (13 of them, including merge-a-phobia, branch-a-holic, the never-ending branch, and codeline pudding). I have not read it in depth, but am certain that there is much to learn in it.

tagged: source control» 2 reactions

Comments

[gravatar]
Dr. K 6:05 PM on 11 May 2003

I'm just curious what was the main reason(s) you guys switched from CVS to Perforce (which I've never used)? Did you evaluate some other Source Code Management Systems?
Here is a comparison between BitKeeper and Perforce (of course from BitKeeper web site).

[gravatar]
Ned Batchelder 7:27 PM on 11 May 2003

I wrote about it more recently: Perforce vs. CVS

Add a comment:

name
email
Ignore this:
not displayed and no spam.
Leave this empty:
www
not searched.
 
Name and either email or www are required.
Don't put anything here:
Leave this empty:
URLs auto-link and some tags are allowed: <a><b><i><p><br><pre>.