- Getting started
- Test suite
- Other infrastructure
- Code questions
- What is the format of a patch bundle?
- How does patch selection work?
- What is the difference between a patch set and a patch bundle, a named patch and a composite patch, etc?
- What’s the convention for variable names, camelCase or using_underscores?
- Darcs does not allow tabs in Haskell code, how do I disable them in my editor?
- See also
Questions that new darcs hackers may have…
darcs clone --lazy http://darcs.net/screened
Release branches can be found under
We’re very sorry to hear that! The most likely explanation is that we did not get your patch (we do try to respond to every patch we receive, and slip-ups are rare). Have a look at our informal darcs send documentation some troubleshooting advice
You can only amend a patch before it has been screened. Some tricks for finding out if the patch has been screened or not:
darcs log --repo http://darcs.net/screened --match 'author Bob' -i darcs log --repo http://darcs.net/screened --match 'name foo'
If your patch has not yet been screened, it should be fine to amend. If it already has been applied, you cannot amend, but must send a followup.
First, see the question above: has your patch already been screened?
Our preferred way is just to send a reply to the original ticket. Check the Getting Started guide (search for “send”) for details.
If you’ve already sent a new patch, no problem! Just mark the old as obsoleted and add the ticket number for the new patch in its superseder field.
If you’re pretty sure that your modification is ok, you could do a
darcs record --no-test. A useful trick if you’re working on many patches is to run
darcs trackdown at the very end, when you’re ready to test them out. Keep in mind that you can also use the
tests/tests_to_run mechanism to select which tests you want to run whenever you do a
No. These are tests written for when certain wishlist features are implemented or bugs are corrected. If they unexpectedly succeed, it could either mean that the feature in question has been implemented (and that the test suite should be modified), or that darcs has system-specific behaviour or that there is something non-deterministic going on. (FIXME: any comments?)
~ cabal test tests/foo.sh tests/bar.sh
darcs help markdown generates a reference made from the output of all commands
darcs help COMMAND, plus reference about environment variables and patterns.
If what you need to document is quite small, edit directly the help output of the command you are modifying. Otherwise edit this wiki instead.
Unfortunately we no longer (2009-08) have a good way of dealing with this. You may be able to get away with loading the darcs module in GHCi after cabal build.
- a blank line
- “New patches:”
- a blank line
- The patches (see gzipped files in _darcs/patches for format).
- The context (see darcs changes –context for format).
- “Patch bundle hash:”
- Hex representation of the sha1-hash of the patches in (4) WITHOUT “New patches”, “Context:” and without blank lines. (Note that I’m not a developer of darcs itself. These information is kind of reverse-engineered.)
What is the difference between a patch set and a patch bundle, a named patch and a composite patch, etc?
camelCase (the underscores are from older code)
If you use Emacs there are several ways according to Dave Love
(add-hook 'haskell-mode-hook '(lambda () (setq indent-tabs-mode nil)))
http://www.loveshack.ukfsn.org/emacs/indent-tabs-maybe.el to set indent-tabs-mode locally.