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