\begin{hcarentry}[updated]{Darcs}
\label{darcs}
\report{Eric Kow}
\participants{Jason Dagit}
\status{active development}
\makeheader

Darcs is a distributed revision control system written in Haskell. In
Darcs, every copy of your source code is a full repository, which allows for
full operation in a disconnected environment, and also allows anyone with
read access to a Darcs repository to easily create their own branch and
modify it with the full power of Darcs' revision control. Darcs is based on
an underlying theory of patches, which allows for safe reordering and
merging of patches even in complex scenarios. For all its power, Darcs
remains a very easy to use tool for every day use because it follows the
principle of keeping simple things simple.

Adoption of darcs 2 is steadily rising, especially with major users like
code.haskell.org switching to it.  In light of this, the recently
released darcs 2.1 creates darcs-2 format repositories by default.  This
new repository format eliminates the exponential merge issue for most
users, but requires darcs 2.0 or higher.  Of course, darcs 2 will
continue to support old fashioned repositories for the forseeable future,
and more robustly at that, so all users are encouraged to upgrade.

In the meantime, we have undertaken several long term projects to
improve our development practices and grow the darcs community:
\begin{enumerate}
\item Increased automation.  We now use automated buildbots for major
      supported platforms.  The buildbots run our ever-growing suite of
      test cases, including a new performance regression suite.
\item Code documentation.   We have begun an effort to provide better
      developer documentation for the darcs.  We are integrating many
      fine Haskell tools, such as Haddock and Hoogle at
      \url{http://darcs.net/api-doc}.
\item Darcs Weekly News.  Inspired from Haskell Weekly News, we are
      using this bulletin to help on-lookers to catch up with recent
      discussions, issues resolved, and patches applied.
\item Regular hacking sprints.  We hope to host hacking sprints
      four times a year as a means for experienced developers to
      concentrate on darcs, and also for newcomers to get to grips with
      the code.
\end{enumerate}
These practices should help us to continue making steady progress.  We
want darcs to be the pride and joy of the Haskell community, and for
this to happen Haskell hackers, we need your help!

Darcs is free software licensed under the GNU GPL.

\FurtherReading
\url{http://darcs.net}
\end{hcarentry}
