I'm sure this question has been answered on this list before, but I
can't get the archive search to work (at least it said there were NO
messages in the 40000+ message archive that contained the word "branch"
in the subject!), so I've decided to just ask:
I work on a team where we have been using CVS and are now converting to
SVN. In the past, we used CVS branches to manage multiple versions of a
product. Developers would continue to update and enhance each release of
the product on its own branch. Occasionally, when a version was
end-of-lifed, or for other reasons, a product version branch might be
merged back into the HEAD (to use the CVS vernacular), however, for the
most part, branches were simply continued until they were no longer
viable entities in the market place, at which point, development just
stopped on that branch.
Now, I happen to know from working on open-source projects that this is
fairly common practice in the CVS world (eg., see the CVS repository for
the PHP project). But all of the documentation I've read on subversion
indicates that this form of branching is simply not done. The manual
indicates branches should be used to manage trunk line development by
multiple developers. Even the best practices document states:
Know when to create branches - This is a hotly debated question, and it
really depends on the culture of your software project. Rather than
prescribe a universal policy, we'll describe three common ones here.
The Never-Branch system...
The Always-Branch system...
The Branch-When-Needed system...
There is no mention here of using branching for product versions. It's
all about efficient trunk development.
Can anyone indicate how to transition a CVS project that uses product
version branches to SVN properly?
Thanks in advance.
John Calcote (firstname.lastname@example.org)
Sr. Software Engineeer
Received on Thu Mar 9 13:15:30 2006