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

Sam Boyer drupal at samboyer.org
Thu Jul 31 18:16:54 UTC 2008

On Thu, 2008-07-31 at 12:40 -0400, Angela Byron wrote:
> Gerhard Killesreiter wrote:
> > 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

Oh my oh my. Please please, folks, have a look at:


and possibly the next section, 


svn doesn't have native, hard-coded branching and tagging the way that
cvs does. Instead, we have a lot more flexibility and are able to define
workflows for how our releases work.

BTW, that reminds me - Derek (or anyone who knows), how does the current
release packaging system work? Does it iterate over the whole repo and
check for changes, or does CVS notify it about the creation of new
release tags so that it can target its efforts more efficiently? Sorry
if there's a page explaining that somewhere...



More information about the development mailing list