[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Successful and unsuccessful Debian development tools



On Tuesday 01 August 2006 13:44, martin f krafft wrote:
> also sprach David Nusinow <david_nusinow@verizon.net> [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



Reply to: