# darcs-beta: a distributed, interactive, smart revision control system

[ deprecated, development ] [ Propose Tags ]
Deprecated. in favor of darcs
Versions 2.2.98.1, 2.2.98.2, 2.2.98.3, 2.2.98.4, 2.3.98.1, 2.3.98.2, 2.3.98.3, 2.3.99.2, 2.4.98.1, 2.4.98.2, 2.4.98.3, 2.4.98.4, 2.4.98.5, 2.4.99.1, 2.7.98.1, 2.7.98.2, 2.7.98.3, 2.7.99.1, 2.7.99.2 NEWS array (>=0.1 && <0.5), base (>=4 && <4.6), bytestring (>=0.9.0 && <0.10), cmdlib (>=0.2.1 && <0.4), containers (>=0.1 && <0.5), directory (>=1.0.0.0 && <1.2.0.0), extensible‑exceptions (==0.1.*), filepath (>=1.1.0.0 && <1.5.0.0), hashed‑storage (>=0.5.6 && <0.6), haskeline (>=0.6.3 && <0.7), html (==1.0.*), HTTP (>=4000.0.8 && <4000.3), HUnit (>=1.0), mmap (==0.5.*), mtl (>=1.0 && <2.1), network (>=2.2 && <2.4), old‑time (>=1.0 && <1.2), parsec (>=2.0 && <3.2), process (>=1.0.0.0 && <1.2.0.0), QuickCheck (>=2.3), random (==1.0.*), regex‑compat (>=0.95.1), regex‑posix (>=0.95.1), shellish (>=0.1.3 && <0.2), tar (==0.3.*), terminfo (==0.3.*), test‑framework (>=0.4.0), test‑framework‑hunit (>=0.2.2), test‑framework‑quickcheck2 (>=0.2.8), text (>=0.11.0.6 && <0.12.0.0), unix (>=1.0 && <2.6), unix‑compat (>=0.1.2), vector (>=0.7), zlib (>=0.5.1.0 && <0.6.0.0) [details] LicenseRef-GPL David Roundy , Development http://darcs.net/ head: darcs get http://darcs.net/ by FlorentBecker at Sun Apr 1 09:48:16 UTC 2012 NixOS:2.7.99.2 darcs-test, darcs 6841 total (74 in the last 30 days) (no votes yet) [estimated by rule of succession] λ λ λ Docs uploaded by userBuild status unknown Hackage Matrix CI

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.

## Flags

NameDescriptionDefaultType
curl

Use libcurl for HTTP support.

EnabledAutomatic
http

Use the pure Haskell HTTP package for HTTP support.

EnabledAutomatic
static

Build static binary

DisabledAutomatic
terminfo

Use the terminfo package for enhanced console support.

EnabledAutomatic

EnabledAutomatic
library

Build darcs library

EnabledAutomatic
executable

Build darcs executable

EnabledAutomatic
color

Use ansi color escapes.

EnabledAutomatic
mmap

Compile with mmap support.

EnabledAutomatic
hpcDisabledAutomatic
test

Build test harness

DisabledAutomatic
optimize

Build with optimizations (-O2)

EnabledAutomatic
warn-as-error

Build with warnings-as-errors

DisabledAutomatic
force-char8-encoding

Allow base 4.5 or above on Unix. base 4.4 introduces a change in the behaviour of filenames that requires API calls in base 4.5 to workaround. So base 4.4 is not supported at all.

DisabledAutomatic

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

#### Maintainer's Corner

For package maintainers and hackage trustees

[back to package description]
Darcs
=====
This is the source tree for darcs, a distributed version control system

http://www.darcs.net

Compilation and Installation
============================

Building Darcs requires GHC, version 6.10.3 or higher. It also requires the
Cabal package, version 1.6 or higher.  The cabal-install package is also
recommended.

If you have the "cabal-install" package on your system (that is, there is a
"cabal" executable in your path), you can use the following command to create
an executable in ~/.cabal/bin/darcs (this will also automatically fetch and
build dependencies from the Hackage server).

$cabal update$ cabal install

Otherwise, if you have the "cabal" package but not the "cabal-install"
package, run the following:

$runghc Setup configure$ runghc Setup build
\$ sudo runghc Setup install

You may also omit the last step and copy the darcs executable (found in
dist/build/darcs/darcs) to a location of your choosing.

More detailed instructions can be found at
including instructions on obtaining a copy of cabal-install.

Please also note that the cabal-based build by default requires the cURL
library (and development headers). If, for some reason, you cannot provide
cURL, please pass "-f-curl" to the configure step above.

Hacking
=======
the darcs wiki at http://wiki.darcs.net

Of particular interest are the following documents:
* http://wiki.darcs.net/Development/GettingStarted
* http://wiki.darcs.net/Development/FAQ

===================================
You may find a number of comments (163 of them at the time of writing) looking
like:
-- Warning:  A do-notation statement discarded a result of type Whatever.
They signal warnings issued by GHC that have been automatically silenced.
See http://bugs.darcs.net/issue1988 for more detail.

These warnings were most certainly harmless, but who knows... If you stumble
upon one such comment, take a minute or two to check if it is really okay to
ignore the return value (look for "_ <- " on the line next to the comment).  If
everything is correct, please remove the comment and send a patch (mentioning
issue1988).  If it isn't, you have found a bug, congratulations!  Fix it, or
fill a bug report on http//bugs.darcs.net/.  Finally, if in doubt, leave it as
is.  Many thanks.

Testing
=======