Darcs (David’s Advanced Revision Control System) is yet another DVC (Distributed Version Control) system featuring both decentralization and ease of learning and use.

Darcs’s author is David Roundy and it is written in Haskell. It is GPLed and is known to work on GNU/linux, MacOS X, FreeBSD, and Microsoft Windows (both natively or through Cygwin) platforms. It is patch-based, using an interesting theory of patches which contributes to some of its still unique (but influential) features, although these don’t all map well onto support in Emacs. It is often considered the easiest DVCS to use, even for non-experts.

Project information

Home page: http://www.darcs.net

Manual: http://darcs.net/manual/darcs.html

Wiki: http://wiki.darcs.net/DarcsWiki

Emacs modes for DARCS (largely a circular reference which should be rationalized): http://darcs.net/RelatedSoftware/Emacs


You can contact Darcs people on #darcs at irc://irc.freenode.net (if the channel is too quiet, try at #emacs at irc://irc.freenode.net).

Darcs modes


There are two VC implementations for Darcs available at

They seem to differ particularly in how they treat “revisions” for VC. The first one available from MELPA, while the raison d’être of the latter is copyright assignment to the FSF, so it is the one to contribute to if you want to try to get support into Emacs.

VC intrinsically still doesn’t seem to support systems like Darcs properly (and changes to generalize it have been rejected).

Not VC-based