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

* Distributed: Darcs was one of the first revision control systems in which
  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, picking and
  choosing which patches are appropriate.

* Smart: Darcs is different from most revision control systems in that it is
  based on the notion of change (or patch), rather than version. An underlying
  algebra of patches determines whether changes can be re-ordered. The laws of
  this algebra guarantee that the result of merging depends only on the final
  set of patches applied in a repository and not on their order.

* Simple: As a consequence, Darcs offers a conceptually simpler view of the
  state of a repository: it is given by the set of patches it contains. Pulling
  and pushing patches merely transfers them from one set to another. So called
  "cherry-picking" is the default mode of operation, and it fully preserves the
  identity of patches.
