Skip to content
SPECIFICTION
Get listed

Darcs

darcs.net

Free plan WindowsmacOSLinuxSelf-hosted
Visit darcs.net
Spec score 8.8 #3 of 62 in Version Control Software

What it is

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.

Spec sheet

What it does
Darcs is a free and open-source, cross-platform version control system focused on changes (patches) rather than snapshots.Read 8 Oct 2026 · darcs.net
Product
Darcs is a free and open source, cross-platform version control system that focuses on changes rather than snapshots.Read 8 Oct 2026 · darcs.net
Intended users
The features page describes workflows for offline work, patch-based collaboration, parallel development, and cherry-picking changes.Read 8 Oct 2026 · darcs.net
Platforms
The download page lists binaries for Windows and Intel Mac OS X, with Linux and BSD distribution packages or source-build instructions also described.Read 8 Oct 2026 · darcs.net
Security
The download page provides checksums alongside the listed Windows and Intel Mac binaries.Read 8 Oct 2026 · darcs.net
Support
The FAQ directs unanswered questions to the darcs-users mailing list or the #darcs IRC channel.Read 8 Oct 2026 · darcs.net
Branching and merging
Darcs treats every repository as a branch, with branching handled by pushing and pulling between repositories.Read 8 Oct 2026 · darcs.net
Collaboration
Users can send proposed patches by email for maintainers to accept or reject, without needing commit privileges.Read 8 Oct 2026 · darcs.net
Community support
The project lists mailing lists, an IRC channel, a bug tracker, Reddit, Stack Overflow, and a Trello board as community resources.Read 8 Oct 2026 · darcs.net
Distributed and offline
Each working directory is a repository, so users can record changes offline and push them to a remote repository later.Read 8 Oct 2026 · darcs.net
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.Read 8 Oct 2026 · darcs.net
Email collaboration
The darcs send command lets contributors send patches by email for maintainers to accept or reject without requiring commit privileges.Read 8 Oct 2026 · darcs.net
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.Read 8 Oct 2026 · darcs.net
Hosting
The features page names hub.darcs.net and darcsweb as options for hosting and sharing repositories.Read 8 Oct 2026 · darcs.net
Installation
The front page lists installation through Cabal, Stack, Nix, platform binaries, and a source tarball.Read 8 Oct 2026 · darcs.net
Interactive changes
Users can interactively choose which changes to include in a patch, and push and pull operations offer similar interaction.Read 8 Oct 2026 · darcs.net
Languages and tooling
Darcs is written in Haskell, and the homepage lists installation through cabal, Stack, and Nix.Read 8 Oct 2026 · darcs.net
Local branches
The comparison page says Darcs does not yet support local branches.Read 8 Oct 2026 · darcs.net
Offline work
Darcs repositories work independently, so users can record changes offline and push them to a public repository later.Read 8 Oct 2026 · darcs.net
Patch editing
Users can modify patches before sending them to a remote repository or discard them and start over.Read 8 Oct 2026 · darcs.net
Performance limitation
The FAQ says Darcs performance is still bad in many areas, though it is improving.Read 8 Oct 2026 · darcs.net
Project organization
Darcs describes itself as a volunteer-run project and a member of the US tax-exempt Software Freedom Conservancy.Read 8 Oct 2026 · darcs.net
Security and compliance
The official pages opened describe Darcs as free and open source and note project membership in the Software Freedom Conservancy; they do not state a security certification or compliance program.Read 8 Oct 2026 · darcs.net
Selective changes
Interactive commands let users choose which changes to include in a patch, and users can pull individual changes from another repository.Read 8 Oct 2026 · darcs.net
Version control limitation
The comparison page says Darcs does not yet support local branches and does not use a Git-style staging index.Read 8 Oct 2026 · darcs.net

Plans and prices

Darcs Free Free and open-source version control system Read 8 Oct 2026 · darcs.net

Every Darcs plan and price →

Strong points and limits

Strong points

  • Free and open-source version control
  • Works offline in independent repositories
  • Interactive patch selection and editing
  • Email-based patch review without commit access
  • Supports Linux, macOS, Windows, and self-hosting

Limits

  • No local branches
  • No Git-style staging index
  • Performance remains poor in some areas
  • Does not version file permissions

Who it suits

Darcs suits teams wanting distributed, offline, patch-based version control with selective changes and email-based collaboration. It supports Linux, macOS, Windows, and self-hosted use.

Verdict

Darcs centers version control on editable patches, offline repositories, and repository-to-repository collaboration. Its documented limits around local branches, permissions, and performance matter for teams whose workflows depend on those capabilities.

Where Specifiction places it

Alternatives to DarcsAll alternatives →