[development] FAQ: Why is Drupal still using CVS when X is a much better choice?
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