[darcs-devel] darcs patch: add make_changelog, a tool to auto-gener... (and 4 more)

David Roundy droundy at abridgegame.org
Wed May 11 04:41:00 PDT 2005


Tomasz: I like your ChangeLog patch! :) And couldn't resist trying it out
myself... which led to a few minor fixes, attached below.

The conflict resolution commutes with the rest, so it still seems possible
to use

darcs pull -p '[Cc]hange[Ll]og'

To get the ChangeLog-generation into stable without pulling anything else
(including not pulling the conflict-resolution patch).

For those listening in, we had some off-list discussion about the
annoyances of managing the ChangeLog, which tends to lead to conflicts
between stable and unstable.  So Tomasz wrote a little program to generate
the changelog based on separate files in changelog.in/entries/.  I don't
think the file name matters, and there can be one or more entry per file.
But ideally we'd keep close to one entry per file, so that patches adding
changelog entries don't conflict with each other.

The changelog entries look like:

match: name "add sendmail-command option"
>   New feature: send accepts --sendmail-command that allows to
>   customize the command used for sending patch bundles (Benedikt Schmidt)

where the first line is an argument to --match to specify which patch was
involved (and there can be more than one such line) and the rest is the
human-friendly changelog entry.  In case you're wondering why we don't
autogenerate ChangeLog from patch logs, it's so we can edit the entries to
make them easier for users to understand.

make_changelog then looks through all the entries, and checks the darcs
history to see which entries exist in this repository, and which are in
which tagged versions, and outputs the ChangeLog.  This way Tomasz can pull
*all* the ChangeLog patches (which create files in entries) into stable
from unstable, and then generate a ChangeLog that lists only those changes
he's pulled into stable.

If you submit changelog entry patches, please make sure they don't depend
on anything else, as that would complicate the whole business of pulling
the entries from unstable to stable.

Even though I'm spending a while explaining this, it was actually all
Tomasz's idea... I just really like it.  :)


Wed May 11 06:05:12 EDT 2005  Tomasz Zielonka <tomasz.zielonka at gmail.com>
  * add make_changelog, a tool to auto-generate ChangeLog

Wed May 11 06:07:34 EDT 2005  Tomasz Zielonka <tomasz.zielonka at gmail.com>
  * auto-generate ChangeLog
  ChangeLog is generated from a database of ChangeLog entries and current
  repo history. Each ChangeLog entry consists of a description and a set
  of PatchMatch matchers. The entry goes into the ChangeLog as soon as all
  the matchers are satisfied.

Wed May 11 07:21:48 EDT 2005  David Roundy <droundy at abridgegame.org>
  * resolve conflict with unstable unit testing stuff.

Wed May 11 07:22:27 EDT 2005  David Roundy <droundy at abridgegame.org>
  * fix failure to compile make_changelog with ghc 6.4
  (multiple imports of liftM etc).

Wed May 11 07:26:15 EDT 2005  David Roundy <droundy at abridgegame.org>
  * automatically generate ChangeLog if we're in a darcs repository.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: text/x-darcs-patch
Size: 12413 bytes
Desc: A darcs patch for your repository!
Url : http://lists.osuosl.org/pipermail/darcs-devel/attachments/20050511/b79d7e15/attachment.bin


More information about the darcs-devel mailing list