Subversion? (Re: HEADS UP: Importing csup into base)
Robert Watson
rwatson at FreeBSD.org
Sat Mar 4 07:28:04 PST 2006
On Sat, 4 Mar 2006 pfgshield-freebsd at yahoo.com wrote:
> I wanted to avoid turning this thread into a discussion of the different
> VCSs but perhaps that might be healthy. Many people like perforce... I
> wonder if the developer community would be happy to accept a "commercial"
> solution.
FWIW, I think Perforce is one of the reasons why there hasn't been a push to
use a new revision control system in place of CVS. A few years ago, when the
pressure for a new system got very high (i.e., lots of very large projects
happening at once), Subversion wasn't up to the task of importing the FreeBSD
CVS repository. So the FreeBSD Project turned to Perforce to provide a
mechanism for branched project development (KSE, TrustedBSD, SMPng, ...).
There are several reasons why Perforce was adopted as a projects solution as
opposed to a replacement for CVS, not least of which are:
- It's a commercial product, so obviously we can't self-host it as part of the
src tree (unlike CVS).
- We have a very high investment in CVS-related infrastructure and development
-- the cvsup server hierarchy, the fairly heavy-duty script
customizations for CVS, etc.
- We also have high level of developer expertise and experience with CVS, and
a high comfort level with using CVS.
None of these things have changed, but the vital need for branched sub project
development has been met by Perforce, so there seems not to be significant
interest in replacing CVS. There's nothing to stop someone creating an
official projects Subversion repository taking regular inputs from a primary
CVS server, in much the same way we do with Perforce right now. This would be
the first natural step towards looking for more official use of Subversion.
It probabably still requires some Subversion hackery to get it to import our
rather large and complex (and occasionally malformed) CVS repository, but
would be a useful thing to do. But I think there can't be any kind of "flag
day" switch over to another repository system (be it Perforce, or Subversion,
or whatever). There has to be a gradual adoption strategy, such as has
happened with Perforce, that avoids significant disruption to the FreeBSD
development process, builds developer comfort and expertise, etc.
Robert N M Watson
More information about the freebsd-arch
mailing list