darcs: a distributed, interactive, smart revision control system
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.
[Skip to Readme]
Modules
[Index] [Quick Jump]
- Darcs
- Darcs.Patch
- Darcs.Patch.Annotate
- Darcs.Patch.Apply
- Darcs.Patch.ApplyMonad
- Darcs.Patch.Bracketed
- Darcs.Patch.Bundle
- Darcs.Patch.Choices
- Darcs.Patch.Commute
- Darcs.Patch.CommuteFn
- Darcs.Patch.CommuteNoConflicts
- Darcs.Patch.Conflict
- Darcs.Patch.Debug
- Darcs.Patch.Depends
- Darcs.Patch.Effect
- Darcs.Patch.FileHunk
- Darcs.Patch.Format
- Darcs.Patch.FromPrim
- Darcs.Patch.Ident
- Index
- Darcs.Patch.Info
- Darcs.Patch.Inspect
- Darcs.Patch.Invert
- Darcs.Patch.Invertible
- Darcs.Patch.Match
- Darcs.Patch.Merge
- Darcs.Patch.Named
- Darcs.Patch.Object
- Darcs.Patch.PatchInfoAnd
- Darcs.Patch.Permutations
- Darcs.Patch.Prim
- Darcs.Patch.Progress
- Darcs.Patch.Read
- Rebase
- Darcs.Patch.RegChars
- Darcs.Patch.Repair
- Darcs.Patch.RepoPatch
- Darcs.Patch.Set
- Darcs.Patch.Show
- Darcs.Patch.Split
- Darcs.Patch.Summary
- Darcs.Patch.SummaryData
- Darcs.Patch.TokenReplace
- Darcs.Patch.TouchesFiles
- Darcs.Patch.Unwind
- Darcs.Patch.V1
- Darcs.Patch.V2
- Darcs.Patch.V3
- Darcs.Patch.Viewing
- Witnesses
- Darcs.Prelude
- Darcs.Repository
- Darcs.Repository.ApplyPatches
- Darcs.Repository.Clone
- Darcs.Repository.Create
- Darcs.Repository.Diff
- Darcs.Repository.Flags
- Darcs.Repository.Format
- Darcs.Repository.Hashed
- Darcs.Repository.Identify
- Darcs.Repository.InternalTypes
- Darcs.Repository.Inventory
- Darcs.Repository.Job
- Darcs.Repository.Match
- Darcs.Repository.Merge
- Darcs.Repository.Old
- Darcs.Repository.Packs
- Darcs.Repository.PatchIndex
- Darcs.Repository.Paths
- Darcs.Repository.Pending
- Darcs.Repository.Prefs
- Darcs.Repository.Pristine
- Darcs.Repository.Rebase
- Darcs.Repository.Repair
- Darcs.Repository.Resolution
- Darcs.Repository.State
- Darcs.Repository.Transaction
- Darcs.Repository.Traverse
- Darcs.Repository.Unrevert
- Darcs.Repository.Working
- Test
- UI
- Darcs.UI.ApplyPatches
- Darcs.UI.Commands
- Darcs.UI.Commands.Add
- Darcs.UI.Commands.Amend
- Darcs.UI.Commands.Annotate
- Darcs.UI.Commands.Apply
- Darcs.UI.Commands.Clone
- Darcs.UI.Commands.Convert
- Darcs.UI.Commands.Diff
- Darcs.UI.Commands.Dist
- Darcs.UI.Commands.GZCRCs
- Darcs.UI.Commands.Help
- Darcs.UI.Commands.Init
- Darcs.UI.Commands.Log
- Darcs.UI.Commands.MarkConflicts
- Darcs.UI.Commands.Move
- Darcs.UI.Commands.Optimize
- Darcs.UI.Commands.Pull
- Darcs.UI.Commands.Push
- Darcs.UI.Commands.Rebase
- Darcs.UI.Commands.Record
- Darcs.UI.Commands.Remove
- Darcs.UI.Commands.Repair
- Darcs.UI.Commands.Replace
- Darcs.UI.Commands.Revert
- Darcs.UI.Commands.Rollback
- Darcs.UI.Commands.Send
- Darcs.UI.Commands.SetPref
- Darcs.UI.Commands.Show
- Darcs.UI.Commands.ShowAuthors
- Darcs.UI.Commands.ShowContents
- Darcs.UI.Commands.ShowDependencies
- Darcs.UI.Commands.ShowFiles
- Darcs.UI.Commands.ShowIndex
- Darcs.UI.Commands.ShowPatchIndex
- Darcs.UI.Commands.ShowRepo
- Darcs.UI.Commands.ShowTags
- Darcs.UI.Commands.Tag
- Darcs.UI.Commands.Test
- Darcs.UI.Commands.TransferMode
- Darcs.UI.Commands.Unrecord
- Darcs.UI.Commands.Unrevert
- Darcs.UI.Commands.Util
- Darcs.UI.Commands.WhatsNew
- Darcs.UI.Completion
- Darcs.UI.Defaults
- Darcs.UI.Email
- Darcs.UI.External
- Darcs.UI.Flags
- Darcs.UI.Options
- Darcs.UI.PatchHeader
- Darcs.UI.PrintPatch
- Darcs.UI.Prompt
- Darcs.UI.RunCommand
- Darcs.UI.RunHook
- Darcs.UI.SelectChanges
- Darcs.UI.TestChanges
- Darcs.UI.TheCommands
- Darcs.UI.Usage
- Util
- Darcs.Util.AtExit
- Darcs.Util.ByteString
- Darcs.Util.Cache
- Darcs.Util.CommandLine
- Darcs.Util.Compat
- Darcs.Util.DateMatcher
- Darcs.Util.DateTime
- Darcs.Util.Diff
- Darcs.Util.Encoding
- Darcs.Util.English
- Darcs.Util.Exception
- Darcs.Util.Exec
- Darcs.Util.File
- Darcs.Util.Global
- Darcs.Util.Graph
- Darcs.Util.HTTP
- Darcs.Util.Hash
- Darcs.Util.Index
- Darcs.Util.IndexedMonad
- Darcs.Util.IsoDate
- Darcs.Util.Lock
- Darcs.Util.Parser
- Darcs.Util.Path
- Darcs.Util.Printer
- Darcs.Util.Progress
- Darcs.Util.Prompt
- Darcs.Util.Ratified
- Darcs.Util.Regex
- Darcs.Util.Show
- Darcs.Util.SignalHandler
- Darcs.Util.Ssh
- Darcs.Util.Tree
- Darcs.Util.URL
- Darcs.Util.ValidHash
- Darcs.Util.Workaround
- Darcs.Patch
Flags
Manual Flags
Name | Description | Default |
---|---|---|
static | Build static binary | Disabled |
threaded | Use threading and SMP support. | Enabled |
executable | Build darcs executable | Enabled |
rts | Support RTS options | Disabled |
warn-as-error | Build with warnings-as-errors | Disabled |
Automatic Flags
Name | Description | Default |
---|---|---|
terminfo | Use the terminfo package for enhanced console support. | Enabled |
Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info
Downloads
- darcs-2.18.3.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
For package maintainers and hackage trustees
Candidates
Versions [RSS] | 2.1.2.1, 2.1.2.2, 2.1.98.2, 2.1.99.0, 2.2.0, 2.2.1, 2.3.0, 2.3.1, 2.4, 2.4.1, 2.4.3, 2.4.4, 2.5, 2.5.1, 2.5.2, 2.8.0, 2.8.1, 2.8.2, 2.8.3, 2.8.4, 2.8.5, 2.10.0, 2.10.1, 2.10.2, 2.10.3, 2.12.0, 2.12.1, 2.12.2, 2.12.3, 2.12.4, 2.12.5, 2.14.0, 2.14.1, 2.14.2, 2.14.3, 2.14.4, 2.14.5, 2.16.1, 2.16.2, 2.16.3, 2.16.4, 2.16.5, 2.18.1, 2.18.2, 2.18.3 |
---|---|
Change log | CHANGELOG.md |
Dependencies | array (>=0.5.1.0 && <0.6), async (>=2.0.2 && <2.3), attoparsec (>=0.13.0.1 && <0.15), base (>=4.10 && <4.20), base16-bytestring (>=1.0 && <1.1), binary (>=0.5 && <0.11), bytestring (>=0.10.6 && <0.13), conduit (>=1.3.0 && <1.4), constraints (>=0.11 && <0.15), containers (>=0.5.11 && <0.8), crypton-connection (>=0.4 && <0.5), cryptonite (>=0.24 && <0.31), darcs, data-default-class (>=0.1.2.0 && <0.1.3), data-ordlist (>=0.4 && <0.5), directory (>=1.2.7 && <1.3.8 || >=1.3.8.5 && <1.4), exceptions (>=0.6 && <0.11), fgl (>=5.5.2.3 && <5.9), filepath (>=1.4.1 && <1.6), hashable (>=1.2.3.3 && <1.5), haskeline (>=0.7.2 && <0.9), html (>=1.0.1.2 && <1.1), http-client-tls (>=0.3.5 && <0.4), http-conduit (>=2.3 && <2.4), http-types (>=0.12.1 && <0.12.5), memory (>=0.14 && <0.19), mmap (>=0.5.9 && <0.6), mtl (>=2.2.1 && <2.4), network (>=2.6 && <3.3), network-uri (>=2.6 && <2.8), old-time (>=1.1.0.3 && <1.2), parsec (>=3.1.9 && <3.2), process (>=1.2.3.0 && <1.7), regex-applicative (>=0.2 && <0.4), regex-base (>=0.94.0.1 && <0.94.1), regex-tdfa (>=1.3.2 && <1.4), safe (>=0.3.20 && <0.4), stm (>=2.1 && <2.6), strict-identity (>=0.1 && <0.2), tar (>=0.5 && <0.7), temporary (>=1.2.1 && <1.4), terminal-size (>=0.3.4 && <0.4), terminfo (>=0.4.0.2 && <0.5), text (>=1.2.1.3 && <2.2), time (>=1.9 && <1.15), tls (<2.0.0 || >=2.0.6 && <2.1), transformers (>=0.4.2.0 && <0.7), unix (>=2.7.1.0 && <2.9), unix-compat (>=0.6 && <0.8), utf8-string (>=1 && <1.1), vector (>=0.11 && <0.14), Win32 (>=2.4.0 && <2.14), zip-archive (>=0.3 && <0.5), zlib (>=0.6.1.2 && <0.8) [details] |
License | GPL-2.0-or-later |
Author | David Roundy <droundy@darcs.net>, <darcs-devel@darcs.net> |
Maintainer | <darcs-devel@darcs.net> |
Category | Development |
Home page | http://darcs.net/ |
Source repo | head: darcs get http://darcs.net/ |
Uploaded | by bfrk at 2024-05-26T11:52:21Z |
Distributions | Arch:2.18.2, Debian:2.14.5, Fedora:2.16.5, FreeBSD:2.10.1, NixOS:2.18.3 |
Reverse Dependencies | 2 direct, 0 indirect [details] |
Executables | darcs |
Downloads | 52445 total (215 in the last 30 days) |
Rating | 2.5 (votes: 3) [estimated by Bayesian average] |
Your Rating | |
Status | Docs uploaded by user Build status unknown [no reports yet] |