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

Angela Byron drupal-devel at webchick.net
Thu Jul 31 16:40:16 UTC 2008


Gerhard Killesreiter wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> Adrian Rossouw schrieb:
>> On 31 Jul 2008, at 12:42 PM, Karoly Negyesi wrote:
>>
>>> If we move, we move to SVN. My team, consisting of mostly pretty good
>>> coders tried a few distributed RCSes and given this experience I am
>>> now vehemently against any DRCS. The concepts are way too heavy and
>>> the utilities are not ready. Most of these systems are not that mature
>>> thus any docs from 1-2 years ago are worthless thus documentation is
>>> not much. When I was for a DRCS in 2005/2006 I was a naive greenhorn
>>> sorry for the ruckus I caused then, I now know better.
>> Wow. that's quite a turn around =)
>>
>> I also like SVN over the others in that it removes complexity instead of
>> adds more.
> 
> Well, then we just can stay with CVS. IMO SVN's features aren't that
> vastly superior to spend much effort on moving.

SVN provides a few advantages that make it compelling:
1. Security. pserver authentication is horribly, horribly insecure.
2. The ability to rename and move files, retaining version history, 
without having to post a support request to the repository maintainers.
3. The ability to remove directories without having to post a support 
request to the repository maintainers.
4. Much, much more intuitive commands. Compare:

cvs tag -d DRUPAL-5--1-0
svn remove tags/DRUPAL-5--1-0

cvs up -dPC filename.inc
svn revert filename.inc

5. Spend some time browsing through 
http://drupal.org/project/issues?projects=107028&components=CVS, and you 
see an awful lot of requests there that wouldn't be there if we were 
using SVN. For example, it's amazing how often "I need a tag deleted" 
comes up, because people can't figure out the command to do it. A lot of 
others are "D'oh. I accidentally committed something somewhere I didn't 
mean to, and now I want to (re)move it. I can't. Help?" So the support 
burden on our repository admins (after the initial bout of total 
confusion, of course ;)) would be remarkably less.
6. I don't know a lot about SVK, but if SVK can be combined with SVN to 
provide the advantages of DRCS for advanced users, without reducing our 
pool of contributors to like 5%, then cool. ;)
7. The SVN community is completely awesome and helpful. I've asked some 
pretty 'n00b' questions in #svn and always been treated not only with 
respect, but with a 20-minute answer to my problem.

However, the one thing about SVN that terrifies the living Hell out of 
me is the fact that there is no such thing as a tag. There are only 
branches, and branches that you don't commit things to (wink wink) are 
"tags". Judging by the number of people who screw this up now, I can't 
imagine the utter chaos we'd have if the "stable" 5.x-1.0 release of a 
module could change on a whim. However, it might be that we could do 
some funky pre-commit scripts or something to enforce the CVS idea of a 
tag. If we go down this route, I'm sure the ever-awesome SVN community 
could help us figure it out. :)

-Angie


More information about the development mailing list