my patches to Darcs, branch of darcs-screened (fork of darcs's darcs-screened)  (



Darcs is a distributed version control system written in Haskell.


To build and install the latest release, use

cabal update && cabal install darcs

with a recent cabal (version 3.2 or later is recommended). Any version of ghc from 8.2 up to 8.10 should work.

From inside a clone or a source dist, use

> cabal build


> cabal install

If you prefer stack:

> stack install

Note that using stack will select older versions for some dependencies, which may mean that performance is slightly less than optimal.

Running the test suite

This is optional, of course, but useful if you want to help find bugs or before you contribute patches.

> cabal build --enable-tests
> cabal test --test-show-details=direct


To clone a repository via HTTP and send patches by mail:

> darcs clone --lazy
> # edit files...
> darcs add my_new_file
> darcs record -m "my changes"
> darcs send

To clone via SSH and push patches:

> darcs clone
> # edit files...
> darcs add my_new_file
> darcs record -m "my changes"
> darcs push

To create a project and start working:

> darcs init my_project
> cd my_project
> # create and edit files...
> darcs add my_new_file
> darcs record -m "initial version"

Pull new patches from upstream:

> darcs pull


Concise and up-to-date documentation is available from darcs itself:

> darcs help # list all commands
> darcs help command # help for specific command
> darcs command --help # dito

The complete documentation is available as a man page which can be generated using

darcs help manpage > darcs.1

Reporting bugs

Please send bug reports to This will automatically add your report to the bug tracker. If you are unsure or just have a question or a comment, you can subscribe to and post your question or comments there. See for details.

There is also an IRC channel named #darcs on, where you can report problems or ask questions.


We are happy to receive patches and will try our best to review them in a timely fashion. Just record your patches in a clone of and darcs send them. You are encouraged, but not required, to look at for additional information.

BTW, the wiki is a darcs repo, you can clone it with:

> darcs clone --lazy

to edit the contents and send us patches.