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

Konstantin Käfer kkaefer at gmail.com
Thu Jul 31 22:55:07 UTC 2008

> Sure. The usual configuration is that SVN is provided by an Apache  
> module (mod_dav and mod_dav_svn) usually over HTTPS so that  
> passwords are not sniffable and mod_authz_svn provides access  
> control. The documentation for this is http://svnbook.red-bean.com/nightly/en/svn.serverconfig.httpd.html 
>  .

We could probably even make it authenticate against the users table  
from drupal.org. I remember that there were issues in the past with  
CVS passwords not matching... (I might be wrong about that though).

>> Yeah, this is a minor pain in the ass (my ass, to be precise, since I
>> don't think anyone else has ever fielded one of the cvs_rename
>> issues).  But, I've been documenting the process in various issues
>> and hopefully others could pick up some of this (relatively small, in
>> the scheme of things) support load.

There are few requests because most people don't know that it's  
possible to rename files in CVS via a hack. And even if they do know,  
they are reluctant because it takes time and is not something they can  
do immediately themselves.

> cvs tag -b DRUPAL-7--1
> we can say
> svn copy /contributions/HEAD/modules/foo /contributions/DRUPAL-7--1/ 
> modules/foo/
> It's SO much easier to explain this because this is what you have on  
> your hard drive. The cvs tag/branch essentially means virtual  
> directories meaning an abstraction layer which people need to  
> comprehend. Here you have files directories and nothing virtual.  
> (Let's not fight now the actual paths we can discuss how to lay out  
> our repo).

The concept of tags as CVS implements it is indeed not easy to grasp,  
especially if you use a GUI client. I remember that I had a hard time  
tagging and branching things (documentation was not as good as it is  
nowadays back then, admittedly). It's much easier if you see that you  
have different directories with the same directory layout underneath  
them. I agree that SVN's notion of tags is somewhat different from  
CVS' approach (which is not necessarily bad, it's just more difficult  
to understand, imho), but it's certainly not bad. Merging things  
between branches or copying files from one branch to another or just  
plain diffing of two branches/tags are more straightforward in SVN  
because you *see* the directory layout on your hard disk instead of  
imagining all the different "shadow versions" of the file in your head.


More information about the development mailing list