[Xorg] New commiter process?

Charles Goodwin charlie at vexi.org
Wed Jun 16 10:11:40 PDT 2004


I hope you don't mind, but I'd like to interject in order to do a bit of
software evangelizing as it answers the problem of having to trust new
committers.

CVS is bad.  It really is.  And you can't appreciate how bad it is until
you use something better.  And with a project like XServer where there
are different groups with different interests, there is nothing better
than distributed SCM [Source Code Management].

Two alternatives are monotone [1] and GNU Arch [2], but the SCM tool I'm
going to focus on is the one we [3] use, Darcs [4].

All repos are hosted over http, so it's incredibly simple to share your
patches with others, and commits can be done directly over SSH (to your
repo), FTP (for the SSH-less), or indirectly through email (to repos
that you have no access to).

"Patches"; Darcs is patch based.  Everything is a patch and a repo is a
collection of chronologically applied patches.  Because everything is a
patch, you can easily shoot back through your history and unpull patches
or apply patches other people have written.  A darcs repo is incredibly
mallable, and it makes bringing in a host of other people's updates a
complete doddle.

Back to the original point, the problem with trusting new committers.
Well, as darcs is hosted over http, and accessed using SSH (or ftp for
the ssh-limited), security issues vanish.  If somebody needs their own
repo you can give them a fd.o account and a small chunk of webspace.
Otherwise each individual interest (eg. cygwin) would be responsbile for
handling their own committer approval and anybody could contribute
easily without any commit access to any official repo: getting their
patch would be a simple "darcs pull http://homepage.com/xorg" away.

The great thing about distributed SCM tools like darcs is you spend less
time messing around with branches and other CVS-esque problems and more
time just doing the code and playing with other people's patches.

I would go on, but the darcs manual is good and I already wrote a how-to
on darcs [5] and I'm sure I've gone on for too long already.  I know
it's not "simple" to change away from CVS (people need the new software,
everything on fd.o is set up for CVS, etc etc) but it is worth the
effort and you'll get a great return on your investment of energy.  So I
would urge you to consider Darcs or another distributed SCM tool as an
option to solve problems like "who to give access to" as well as an
improved development environment.  CVS is horrid after using Darcs.

And no, I'm not affiliated with Darcs in any way.  We have just had so
much success with it that I like to do my bit and help promote it. ;)

The only caveat with Darcs is that it's written in Haskell and hence has
a few awkward (as in not-widely-installed) dependencies, but it is a
small price to pay for the benefits it gives you.  And it goes without
saying that it's portable (works in Windows/Linux/Mac just fine).

- Charlie

Charles Goodwin <charlie at vexi.org>
Online @ www.charlietech.com

[1] Monotone:- www.venge.net/monotone/
[2] GNU Arch:- www.gnu.org/software/gnu-arch/
[3] "We" are the Vexi Project:- www.vexi.org
[4] Darcs:- www.abridgegame.org/darcs
[5] My Darcs How-to:- http://forums.gentoo.org/viewtopic.php?t=137097





More information about the xorg mailing list