1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134
|
About
-----
[Darcs](http://darcs.net) is a distributed version control system
written in Haskell.
Building
--------
To build and install the latest release, use
```
cabal update && cabal install darcs
```
with a recent cabal (version 3.2 or later is recommended). Any version of
ghc from 8.2 up to 9.8 should work.
From inside a clone or a source dist, use
```
> cabal build
```
Cabal will tell you where the resulting darcs binary is. If you'd rather
use `cabal install` and you are in a clone (not a source dist), you first have
to generate the version info, like this:
```
> runghc release/gen-version-info.hs
> cabal install
```
Building/installing with stack used to work with a few tweaks, but is no
longer officially supported due to lack of manpower. If this inconveniences
you, consider contributing patches to maintain our stack.yaml.
Testing
-------
Running the test-suite is optional, of course, but useful if you want to
help find bugs or before you contribute patches. The easiest and most
flexible way to do this is
```
> cabal configure --enable-tests
> cabal run darcs-test -- [options for darcs-test, try --help]
```
Using
-----
To clone a repository via HTTP and send patches by mail:
```
> darcs clone --lazy http://darcs.net
> # edit files...
> darcs add my_new_file
> darcs record -m "my changes"
> darcs send
```
To clone via SSH and push patches:
```
> darcs clone user@hub.darcs.net:user/repo
> # edit files...
> darcs add my_new_file
> darcs record -m "my changes"
> darcs push
```
To create a project and start working:
```
> darcs init my_project
> cd my_project
> # create and edit files...
> darcs add my_new_file
> darcs record -m "initial version"
```
Pull new patches from upstream:
```
> darcs pull
```
Documentation
-------------
Concise and up-to-date documentation is available from darcs itself:
```
> darcs help # list all commands
> darcs help command # help for specific command
> darcs command --help # dito
```
The complete documentation is available as a man page which can be generated
using
```
darcs help manpage > darcs.1
```
Reporting bugs
--------------
Please send bug reports to <bugs@darcs.net>. This will automatically add
your report to the bug tracker. If you are unsure or just have a question or
a comment, you can subscribe to darcs-users@darcs.net and post your question
or comments there. See http://darcs.net/MailingLists for details.
There is also an IRC channel named `#darcs` on freenode.net, where you can
report problems or ask questions.
Hacking
-------
We are happy to receive patches and will try our best to review them in a
timely fashion. Just record your patches in a clone of
<http://darcs.net/screened> and `darcs send` them. You are encouraged, but not
required, to look at <http://darcs.net/Development/GettingStarted> for
additional information.
BTW, the wiki is a darcs repo, you can clone it with:
```
> darcs clone --lazy http://darcs.net/darcs-wiki
```
to edit the contents and send us patches.
|