[darcs-users] Front page Edit

Stephen J. Turnbull stephen at xemacs.org
Wed Apr 15 14:18:35 UTC 2009


Daniel Carrera writes:

 > - **Easy** - Easy to learn. Easy to use. Easy branches. Easy merging. 
 > Most version control systems have around 60 commands (git has 133). 
 > Darcs attains the same or better feature set with 32.

Unfortunately, it's just not true that Darcs has the same or better
feature set as git and Mercurial.  There is a whole DAG-ful of stuff
that you can do with git or Mercurial that you can't do at all with
Darcs.  Specifically, of the commands I use every day, Darcs has no
equivalents for gitk, git show-branch, git branch, git reset, git
merge, and git rebase because they work on the DAG in a single repo.

 > Due to their clean and simple design,

... and the repository = branch = workspace assumption ...

 > Darcs’ commands are easier to learn and easier to understand.

Darcs's commands *are* well-designed.  It's also true that for
small-ish projects (a couple hundred files, a couple thousand patches
or revisions, a handful of branches) the repo = branch = ws assumption
is a *killer* simplification.  Those git commands that have no Darcs
counterparts are basically YAGNIs in this context.  Add to that the
elimination of strategic considerations from merging branches (git has
two non-trivial merge strategies, Bazaar has maybe a dozen or so!, and
of course for all three you need to worry about the merge order), and
you've got a big, big win.

But please, let's not make claims that go overboard.  Darcs *is*
missing a lot of functionality that is essential for some tasks and in
some organizations; it is not a fully functional replacement for git,
Mercurial, or even Bazaar.  Especially, Darcs does not provide access
to the history DAG.



More information about the darcs-users mailing list