darcs uses an automated ChangeLog generation system. To generate the ChangeLog use: make ChangeLog Contributing changelog messages is one of the ways that non-haskell persons can contribute to darcs development. If you would like to add a new entry to the ChangeLog, just follow these instructions: 1) Create a new file in the directory changelog.in/entries/. You may either name this file after yourself, or after the change you'd like to document. Note that there can be many entries in a single file, but by convention you shouldn't add entries to files named after other people, so that we can avoid conflicts (which was a major concern in designing this system). 2) Put in this file one or more "match:" statements describing one or more patches that implement the change. See below (or look at other files in the entries/ directory) for an example demonstrating the format. 3) After the "match" statements, put the actual change comment, with each line preceded by "> " as if it were a quote in an email. The comment will be automatically indented and line wrapped, and the "*" added, so just add the human-readable information. It is conventional to place attribution of whoever did the actual coding at the end of the message. It's that easy! Rerun make ChangeLog to see your beautiful creation. EXAMPLE ENTRY: match: name "Add .query manifest. command" > Add new "query manifest" command to list files and/or directories in > repository. Add some related infrastucture to support > "subcommands". (Florian Weimer) If you want to edit an existing entry, you'll have to grep through the contents of changelog.in/entries/ to find the file where that entry is located, where you can edit it. To submit your contribution, you add the new file and run darcs record, making sure to include the phrase "changelog entry" or "changelog entries" in the patch name, and then use darcs send to email the patch to darcs-devel@darcs.net.