[darcs-users] Re: [Haskell-cafe] fptools in darcs now available

Nimrod A. Abing nimrod.abing at gmail.com
Mon May 2 06:01:27 UTC 2005


> So my question in a nutshell: Why shall we move away from the mainstream
> when the rest of the world (or most of) is quite happy with CVS or is
> moving to subversion? I'm not completely against it, but we should have
> very, very good reasons to do so.

I have been through using CVS, then Subversion, then TLA, finally
Darcs. At least for me, the following compelled me to move from
subversion to darcs:

1. Ability to tarball a repository/working copy, take it to another
machine, unpack it and everything continues to work as usual (with a
bit of prefs editing). Very important for me because I tend to move
stuff between my computer at home and at work. It also makes for easy
repository replication.

2. Automatic patch attribution. When patches are sent via email and
applied to a repository, darcs automatically takes care of tracking
who sent which patch. No need to rummage around email archives to
track down the author of a patch.

3. Easier cherrypicking of patches. Generally a PITA when you get a
set of changes as a single file. Not a problem with darcs. You can
sort of use the "patch" program as it has interactive mode to do this
but it's not as smart as darcs. For example, darcs is able to figure
out which patches it will skip if you skip a patch that is a
dependency of other patches.

4. Darcs is cross-platform. Though the Win32 port is flaky at times,
it works well enough. This is also the main reason I switched from tla
to darcs.

5. No need for Internet connection for most of the common operations
like record, add, changes, whatsnew. I have been cash strapped as of
late and dialup is my only available option, which is still a bit on
the expensive side.

6. No need to wrap your brain around "branches". If you want to make
some radical changes to a stable repository, tag your stable
repository, do a darcs get to a different directory, make your
changes, test them, go crazy. If all goes well, create a patch bundle
and apply it to your stable tree.

These for me are compelling enough to use darcs. Though I wish darcs
had a C-library that I can program against so that it will be easier
to extend and write tools for, but that's another story and hopefully
there will be a darcs C API soon :)
-- 
_nimrod_a_abing_

v1sw5CPJYUhw5ln3pr8OUSck6ma8u7LBw3DWNTm5g/l7DaIs7Rr4e6t5Xb4Op1en3g5RZAHC




More information about the darcs-users mailing list