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

Re: Is Ubuntu a debian derivative or is it a fork?



On Wed, Jun 01, 2005 at 06:24:52AM -0700, Stephen Birch wrote:
> Okay ... I missed the development of arch.  Boy ... its difficult to
> keep up with everything going on.  How did the arch project improve on
> Subversion?

The main cool thing about Arch is that branching can be done
cross-repository and it remembers the merge history.  So that makes
decentralized development much easier than with, say, Subversion or CVS.
With Arch, the standard way of collaborating on a project is to tell an
author "here, merge from my repo."

Darcs takes all of this farther yet.  With darcs, branching is not only
possible cross-repository, but also extremely easy and a fundamental
operation.  "darcs get" (akin to cvs co) creates a branch that is your
working copy.  When you hack around there, you use "darcs record" to
commit your changes.  When you want to send them to the upstream, you
use "darcs push" to merge them to the upstream repo, or "darcs send" if
you don't have access to the upstream.  (It will e-mail a patchset to
the upstream maintainer.)

Unlike Arch or (SVN, CVS, whatever), darcs branching also preserves each
individual patch in its entirety, complete with its individual log
message and individual changes.  So it is possible to back out or review
any patch from any branch at any time.

To contribute to a project that uses Darcs, your general procedure would
be, for example:

1. darcs get http://darcs.complete.org/darcs-buildpackage
2. hack around in darcs-buildpackage, using darcs record to note your
   changes
3. run "darcs send" to submit the patches you made to upstream

That's easier than with *any* other VC system I've seen.

-- John



Reply to: