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: