Darcs
What it is
Darcs is a free and open-source version control system for Windows, macOS, Linux, and self-hosted use. It centers work on patches, or individual changes, rather than snapshots. Each working directory is a repository, allowing contributors to record changes offline and push them to another repository later. Interactive commands let users choose which changes to include, pull individual changes, and edit or discard a patch before sending it. Darcs handles branching by pushing and pulling between repositories. Contributors can also propose patches by email with the darcs send command, so maintainers can accept or reject them without granting commit privileges. The project names hub.darcs.net and darcsweb as repository hosting options. Installation routes include Cabal, Stack, Nix, platform binaries, and a source tarball. The volunteer-run project belongs to the Software Freedom Conservancy. Its documentation notes that Darcs does not support local branches, does not version file permissions, and has performance issues in some areas.
For and against
For
- Free and open-source version control.
- Repositories support recording changes offline.
- Interactive commands select changes for patches.
- Email proposals do not require contributor commit privileges.
- Available for Windows, macOS, and Linux.
Against
- Does not support local branches.
- Does not version file permissions.
- Documentation notes performance issues in some areas.
- No Git-style staging index.
The verdict
Darcs offers a patch-centered workflow with offline repositories and email collaboration. Review its stated constraints around branches, permissions, and performance before adopting it for a project.
Who it suits
Darcs may suit contributors who want offline work, patch-based collaboration, or email-based patch review. Its documented limits matter for teams that need local branches or file-permission tracking.
Plans and prices
Darcs
Free and open-source version control system
Read 8 Oct 2026 · darcs.net
On the record
- Branching and merging
- Darcs treats every repository as a branch, with branching handled by pushing and pulling between repositories.darcs.net · read 8 Oct 2026
- Collaboration
- Users can send proposed patches by email for maintainers to accept or reject, without needing commit privileges.darcs.net · read 8 Oct 2026
- Community support
- The project lists mailing lists, an IRC channel, a bug tracker, Reddit, Stack Overflow, and a Trello board as community resources.darcs.net · read 8 Oct 2026
- Distributed and offline
- Each working directory is a repository, so users can record changes offline and push them to a remote repository later.darcs.net · read 8 Oct 2026
- Downloads
- The download page lists Windows, Intel Mac OS X, GNU/Linux, OpenBSD, and FreeBSD, while noting that the listed binaries may be older than the current stable release.darcs.net · read 8 Oct 2026
- Email collaboration
- The darcs send command lets contributors send patches by email for maintainers to accept or reject without requiring commit privileges.darcs.net · read 8 Oct 2026
- File permission limitation
- The FAQ says Darcs does not version file permissions and warns that this makes it unsafe for versioning many files in /etc.darcs.net · read 8 Oct 2026
- Hosting
- The features page names hub.darcs.net and darcsweb as options for hosting and sharing repositories.darcs.net · read 8 Oct 2026
- Installation
- The front page lists installation through Cabal, Stack, Nix, platform binaries, and a source tarball.darcs.net · read 8 Oct 2026
- Intended users
- The features page describes workflows for offline work, patch-based collaboration, parallel development, and cherry-picking changes.darcs.net · read 8 Oct 2026
- Interactive changes
- Users can interactively choose which changes to include in a patch, and push and pull operations offer similar interaction.darcs.net · read 8 Oct 2026
- Languages and tooling
- Darcs is written in Haskell, and the homepage lists installation through cabal, Stack, and Nix.darcs.net · read 8 Oct 2026
- Local branches
- The comparison page says Darcs does not yet support local branches.darcs.net · read 8 Oct 2026
- Offline work
- Darcs repositories work independently, so users can record changes offline and push them to a public repository later.darcs.net · read 8 Oct 2026
- Patch editing
- Users can modify patches before sending them to a remote repository or discard them and start over.darcs.net · read 8 Oct 2026
- Performance limitation
- The FAQ says Darcs performance is still bad in many areas, though it is improving.darcs.net · read 8 Oct 2026
- Product
- Darcs is a free and open source, cross-platform version control system that focuses on changes rather than snapshots.darcs.net · read 8 Oct 2026
- Project organization
- Darcs describes itself as a volunteer-run project and a member of the US tax-exempt Software Freedom Conservancy.darcs.net · read 8 Oct 2026