darcs: a distributed, interactive, smart revision control system

[ development, gpl, library ] [ Propose Tags ]

Darcs is a free, open source revision control system. It is:

  • Distributed: Every user has access to the full command set, removing boundaries between server and client or committer and non-committers.

  • Interactive: Darcs is easy to learn and efficient to use because it asks you questions in response to simple commands, giving you choices in your work flow. You can choose to record one change in a file, while ignoring another. As you update from upstream, you can review each patch name, even the full "diff" for interesting patches.

  • Smart: Originally developed by physicist David Roundy, darcs is based on a unique algebra of patches.

This smartness lets you respond to changing demands in ways that would otherwise not be possible. Learn more about spontaneous branches with darcs.

  • Please note that hackage does not correctly display the license. It is meant to be "GPL-2.0-or-later".


[Skip to Readme]

Modules

[Index] [Quick Jump]

Flags

Manual Flags

NameDescriptionDefault
executable

Build darcs executable

Enabled
warn-as-error

Build with warnings-as-errors

Disabled
Automatic Flags
NameDescriptionDefault
curl

Use libcurl for HTTP support.

Enabled
pkgconfig

Use pkgconfig to configure libcurl

Disabled
static

Build static binary

Disabled
terminfo

Use the terminfo package for enhanced console support.

Enabled
threaded

Use threading and SMP support.

Enabled
rtsDisabled

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

Versions [RSS] 2.1.2.1, 2.1.2.2, 2.1.98.2, 2.1.99.0, 2.2.0, 2.2.1, 2.3.0, 2.3.1, 2.4, 2.4.1, 2.4.3, 2.4.4, 2.5, 2.5.1, 2.5.2, 2.8.0, 2.8.1, 2.8.2, 2.8.3, 2.8.4, 2.8.5, 2.10.0, 2.10.1, 2.10.2, 2.10.3, 2.12.0, 2.12.1, 2.12.2, 2.12.3, 2.12.4, 2.12.5, 2.14.0, 2.14.1, 2.14.2, 2.14.3, 2.14.4, 2.14.5, 2.16.1, 2.16.2, 2.16.3, 2.16.4, 2.16.5, 2.18.1, 2.18.2, 2.18.3
Change log CHANGELOG
Dependencies array (>=0.5.1.0 && <0.6), async (>=2.0.2 && <2.3), attoparsec (>=0.13.0.1 && <0.14), base (>=4.9 && <4.15), base16-bytestring (>=0.1 && <0.2), binary (>=0.5 && <0.10), bytestring (>=0.10.6 && <0.11), containers (>=0.5.6.2 && <0.7), cryptohash (>=0.11 && <0.12), darcs, data-ordlist (>=0.4 && <0.5), directory (>=1.2.6.2 && <1.4), fgl (>=5.5.2.3 && <5.8), filepath (>=1.4.1 && <1.5.0.0), graphviz (>=2999.18.1 && <2999.20.1), hashable (>=1.2.3.3 && <1.4), haskeline (>=0.7.2 && <0.9), html (>=1.0.1.2 && <1.1), HTTP (>=4000.2.20 && <4000.4), mmap (>=0.5.9 && <0.6), mtl (>=2.2.1 && <2.3), network (>=2.6 && <3.2), network-uri (>=2.6 && <2.7), old-time (>=1.1.0.3 && <1.2), parsec (>=3.1.9 && <3.2), process (>=1.2.3.0 && <1.7), random (>=1.1 && <1.2), regex-applicative (>=0.2 && <0.4), regex-compat-tdfa (>=0.95.1 && <0.96), sandi (>=0.4 && <0.6), stm (>=2.1 && <2.6), tar (>=0.5 && <0.6), terminfo (>=0.4.0.2 && <0.5), text (>=1.2.1.3 && <1.3), time (>=1.5.0.1 && <1.10), transformers (>=0.4.2.0 && <0.6), unix (>=2.7.1.0 && <2.8), unix-compat (>=0.4.2 && <0.6), utf8-string (>=1 && <1.1), vector (>=0.11 && <0.13), Win32 (>=2.3.1 && <2.4), zip-archive (>=0.3 && <0.5), zlib (>=0.6.1.2 && <0.7.0.0) [details]
License GPL-2.0-only
Author David Roundy <droundy@darcs.net>, <darcs-devel@darcs.net>
Maintainer <darcs-devel@darcs.net>
Category Development
Home page http://darcs.net/
Source repo head: darcs get http://darcs.net/
Uploaded by bfrk at 2020-04-29T13:08:41Z
Distributions Arch:2.18.2, Debian:2.14.5, Fedora:2.16.5, FreeBSD:2.10.1, NixOS:2.18.3
Reverse Dependencies 2 direct, 0 indirect [details]
Executables darcs
Downloads 52445 total (215 in the last 30 days)
Rating 2.5 (votes: 3) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]

Readme for darcs-2.14.4

[back to package description]

Darcs

Darcs is a distributed version control system written in Haskell.

Getting started

Compiling

The easiest way to build darcs is by using cabal-install version 3.2 or later. A plain

> cabal build

or

> cabal install

should work out of the box with any ghc version from 8.0 up to 8.10.

Run the test suite

It is currently not possible to run the full test suite from the source distribution that you get from hackage. Instead you need to be in a clone of the darcs source code repository. This is because the tests depend on an old version of shelly that was patched to work with newer ghc versions and bundled with Darcs. It is not part of the source distribution to avoid 'cabal install' also trying to install our patched version of shelly.

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

Using

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

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

To clone via SSH and push patches:

> darcs clone user@hub.darcs.net:user/repo
> # 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

Reporting bugs

Please send bug reports to bugs@darcs.net. 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 darcs-users@darcs.net and post your question or comments there. See http://darcs.net/MailingLists for details.

Hacking

Please consult http://darcs.net/Development/GettingStarted for information about how to contribute to Darcs. Or send an email to darcs-devel@darcs.net or to darcs-users@darcs.net.

The wiki can be downloaded with the command:

> darcs clone --lazy http://darcs.net/darcs-wiki