cabal install darcs-2.8.1
darcs get http://darcs.net --lazy
Darcs is a free and open source, cross-platform version control system, like git, mercurial or subversion but with a very different approach. Thanks to its focus on changes rather than snapshots, Darcs can offer a freer way of working, and a simpler user interface.
darcs get http://darcs.net --lazy
The simplicity of this "cherry-picking" is unique to Darcs (and camp). You can see it in action in this 5-minute video, or read more about it in the manual.
$ darcs init # initialise the repository $ echo foo > file1 # create a file $ darcs add file1 # begin tracking file1, ready to commitShow uncommitted edits and file changes in this repo, commit some, and list the latest commits:
$ darcs whatsnew # show uncommitted changes to files Darcs is tracking $ darcs whatsnew -sl # just the files, untracked ones too (or: darcs status) $ darcs record # select edits and commit them to the local repo $ darcs changes # list commits in this repo (or: darcs log)Several kinds of undo:
$ darcs revert # discard uncommitted edits, resetting the working copy $ darcs rollback # reverse a committed change in this and remote repos # history-rewriting: $ darcs unrecord # un-commit a change in this repo, preserving working copy $ darcs obliterate # reverse and forget a committed change in this repo
$ darcs get http://darcs.net darcs --lazy # fetch history lazily for speed $ cd darcs # enter the repo $ echo > README # edit something.. $ darcs record # select edits and commit them to the local repo $ darcs send # submit patches upstream if your system speaks email, $ darcs send -O # or save a patch file you can email to patches@darcs.netMoving changes between repos, and more:
$ darcs get USER@HOST:PATH # get a repo via SSH $ darcs pull # merge new changes from upstream, updating the working copy $ darcs push # add our new changes to the upstream repo via SSH $ darcs help # show all commands and how to get more help