Darcs vs Mercurial
Darcs
darcs.netMercurial
mercurial-scm.orgSide by side
| Figure | Darcs | Mercurial |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Windows | Yes | Yes |
| macOS | Yes | Yes |
| Linux | Yes | Yes |
| Self-hosted | Yes | Yes |
| Plans published | 1 | 1 |
| Spec score · Version Control Software | 8.8 (#3) | 7.7 (#35) |
| Community support | The project lists mailing lists, an IRC channel, a bug tracker, Reddit, Stack Overflow, and a Trello board as community resources. | Users can get help through the Matrix channel, IRC and the general Mercurial mailing list. |
Plans
In their own words
Darcs
Darcs is a free, open-source version control system for Linux, macOS, Windows, and self-hosted deployment. It organizes work around patches, or changes, instead of snapshots. Every working directory is its own repository, allowing users to record changes offline and push them to another repository later. Interactive commands let users select changes for a patch, pull individual changes, and edit or discard a patch before sending it. Branching works by pushing and pulling between repositories, with each repository treated as a branch. The darcs send command supports email collaboration, so maintainers can accept or reject proposed patches without granting commit privileges. The project names hub.darcs.net and darcsweb for repository hosting. Darcs is written in Haskell and can be installed through Cabal, Stack, Nix, platform binaries, or a source tarball. It is volunteer-run and a Software Freedom Conservancy member.
Mercurial
Mercurial is a free, distributed source control system for managing development history. Each developer keeps a full local copy of that history, so work can continue without a network connection or central server. It is designed for projects of any size and supports diffs, commits, branching, and merging. The software runs on Windows, macOS, and Linux; binary releases are also listed for Solaris 11 Express and other platforms. Installation options include system packages, Windows winget, Homebrew, PyPI tools, and source builds. Python extensions can add or change commands and access core functionality. Official extensions cover tasks such as Git command mapping, email notifications, and external diff tools. Mercurial supports sparse checkout and nested repositories; large-file handling is available through an extension. It is licensed under the GNU GPL version 2 or later. One security caveat: carefully constructed Git subrepositories can pose a clone-time code-execution risk, so they are disabled by default.