Re: Subversion Migration: the importance of maturity.


On Fri, 2005-05-13 at 17:57 +0100, Mark McLoughlin wrote:
> 	So, what exactly are the really important benefits (for GNOME) over
> *CVS* that you've left off the list?  File re-naming, atomic
> commits ... ?
> 	My opinion from the sidelines is that there's no huge rush here - yes,
> CVS can be a pain, but we've learnt to deal with that pain. 

I think Miguel linked to a pretty good list here.

Working on Beagle, which is a very new and highly dynamic project in
terms of code organization, the shortcomings of CVS have struck me
personally much more than any of the previous work I've done in CVS.

Today we have around 10 or so unused directories that we're unable to
get rid of.  A very large number of source files are misnamed because
the code has evolved so much over time, but we didn't want to lose the
code history.  We have had to give up history in moving files between
directories because we don't have access to the CVS repository on the
server to do surgery.  We've had to back out commits and without
atomicity it can be a real pain... God help you if you're trying to do
it on a branch.

Last week I did a big reorganization of the code on a branch.  I was
making the changes in one source tree, including a bunch of "cvs add"
and "cvs remove" commands.  I checked out another pristine source tree
and created the branch.  I did a "cvs update" to the branch in the first
one, and then committed.  All of my additions and removals were
committed to HEAD and my changes were committed to a branch.  CVS didn't
do the right thing, it didn't warn me, it didn't error out at any point.
Maybe other people know about this "gotcha," but I didn't and I've been
using CVS for 7 years.

I read all commits done to beagle.  Normally I do this by clicking on
the bonsai link included in CVS commits mail or on my CIA RSS feed.
This completely fails for branches.  We could do away with Bonsai
altogether and just use ViewCVS because commits are atomic and I could
get one big diff of everything.  (Also our Bonsai install is broken and
you can't do any manual queries at all, but again, that's something that
would improve by moving to SVN)

I don't consider these problems to be "quirks" of CVS, and I don't think
they're acceptable in a modern source control system.  I'm also very
concerned that the vast majority of people who commit to the repository
are still using the pserver interface and not ssh.

I like subversion because it suits the way I work well... I'm not
opposed to Arch, but I've never used it.  I do know that I can't can't
stand CVS anymore, and I don't want to lose any more productivity over
it.  My intention has been to move Beagle onto Novell Forge for SVN, but
one of our contributors astutely noted that we'd likely lose the awesome
(and largely automatic!) localization work, and so we've been coping for
a little while.  Ultimately, though, I don't think that's going to be
enough to keep enduring the pain.


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]