On Tuesday 01 August 2006 13:44, martin f krafft wrote: > also sprach David Nusinow <[EMAIL PROTECTED]> [2006.08.01.0005 +0100]: > > Subversion, in conjunction with alioth, has risen dramatically in > > Debian to accomodate team-based maintainance. There are of course > > plenty of challengers, but subversion seems to beat them all. > > I'd be interested in your thoughts as to why subversion beats them > all, in your perception.
I know that this has somehow become a religious question. Recently when I looked for a co-maintainer I was told that we can agree on anything as long we we don't use subversion. So I spent several days to wade through the lots of documentation to learn about distributed revision control systems and found darcs, mercury (hg) and bazaar-ng (bzr) to be decent candidates for such an approach. And I currently use bzr to maintain a simple Debian package to gain some experience with it. It's nice and simple. However using distributed RCS is a pain in the kind of projects I work on with other people. Such a system might be great for people in the underground train who want to maintain their packages. But which maintainer does not have a permanent internet connection but enough electricity to operate a laptop for more than 2 hours? And to try out things I can just "cp -a" a directory tree and test something and perhaps copy files around. Why do I need to do a fancy "branch" to accomplish the same with more commands and try not to break my fingers when merging the branch? No offense intended - honestly - but the problem of passing patches/patchsets around between the maintainers is really a problem. In Subversion I know where the authoritative instance lies that is the master instance keeping the current state. If there is one superior maintainer who makes the repository available online to co-maintainers who are just allowed to send in patches - that might work well. But if several people are equally involved in a project this seems to quickly become a problem. I had tried distributed RCSs just because it's a more "modern" approach and because a number of developers and maintainers seem to find Subversion problematic. But if I group maintain a package and need to collect everybody's work before building and uploading a package that's just too hard. The bazaar-ng web site describes a few ways to pass the changes around (http://bazaar-vcs.org/BzrForCVSUsers) but I found neither one very appealing. I don't mind other team members working locally. But I need to get access to their changes ASAP to have them included in the next release/revision. So it appears to be a tradeoff. With distributed RCS you gain the freedom to develop everywhere as long as you have electricity. But you have the disadvantage that the way to commit changes to a central instance is all but automatic. I'll probably use bzr when I need to keep something revisioned without much fuss just to save the time for "svnadmin create" and a DAV share on my Apache. But for everything else I think I'll stay with Subversion. And while I haven't tried it I could imagine that SVK (the distributed addon to Subversion) might be what makes offline fellows happy. My 2¢... Christoph -- ~ ~ ".signature" [Modified] 1 line --100%-- 1,48 All