[development] FAQ: Why is Drupal still using CVS when X is a much better choice?

Steve Scotten steves at splicer.com
Tue Aug 5 18:24:49 UTC 2008

On Jul 31, 2008, at 10:46 AM, Derek Wright wrote:
>> 4. Much, much more intuitive commands.
> This doesn't matter if people already know the CVS commands.  If  
> they don't, we've got handouts, handbooks, screencasts, DrupalCon  
> talks, off-site writeups, and more, explaining what they need to  
> know...  And, as Earl pointed out, the most important commands for  
> tagging and branching are arguably much less intuitive, and those  
> are the ones people seem to have the most trouble with.

For whatever my experience is worth...

I used CVS quite a bit between 1998 and 2001, and then not at all  
until 2003. In 2001 I was still R'ingTFM to do what should have been  
simple stuff. I then had to go back in 2003 and again in 2005 to work  
on old projects and had to relearn CVS each time, and it was like  
learning it for the first time.

Moving from a CVS skillset (such as it was... clearly I never had a  
great grasp on CVS) to an SVN skillset has been easy. I still look up  
commands from time to time, but most of the time I just use it and get  
on with my work.

Bottom line: I have no desire to become any sort of expert or even  
semiexpert in version control. I want version control to be a tool  
subservient to my needs rather than a black hole sucking up my time,  
attention, and overtaxed brain cells.

So I'm ashamed to admit this, but I was granted my CVS account here  
four months ago and I haven't done anything at all. Nothing.  
Realistically, I may never actually contribute to Drupal in any  
meaningful manner, because every time I sit down to do some work it  
becomes a choice between spending a day fixing bugs in code locally  
(which benefits me and no one else) and spending a day (or a week)  
dealing with relearning a version control system (which benefits no  
one at all). Day after day that means that my local codebase is  
becoming better and I'm not helping the community at all.

All this means that I'm just a lazy doofus whose potential for  
contribution is probably worthless anyhow, but the work is getting  
done. I have a client paying me to do this work and another full-time  
developer at my disposal.

Ultimately the life or death of any project where people are  
contributing their time centers around whether those people see  
benefit. Relearning CVS is something that benefits me not at all.  
(Well, that's not true. If I relearn and reinstall CVS I'd get the  
benefit of developers not junior to me reviewing my code). Seriously.  
If I put "knows CVS" on my résumé it's not going to get me any new  
projects. At best it might get me

Learning skills is a career move, and asking developers to learn CVS  
is asking them to make a dead-end career move. Hey, here's a skill  
I'll only use once. Yay.

Again, I understand that I haven't made any arguments about the  
technical merits of either CVS or SVN. But I'm neither lazy nor  
stubborn. I have a finite number of hours in the day and have to make  
choices about where I invest my time. Learning swingdancing is fun.  
Improving my SQL skills is profitable. Getting back up to speed with  
CVS is neither fun nor profitable. It's just punishment for wanting to  
help with the Drupal project.

Having forced you to read this whingeing, I'll write a note to myself  
to at least get as far as checking out some code after I get home  
tonight. That is, assuming nothing more important and pleasurable,  
like washing the dishes or  scrubbing my toilet, needs to be done.


More information about the development mailing list