@hackage darcs-monitor0.3.8

Darcs repository monitor (sends email)

                        darcs-monitor
                        -------------

Darcs-monitor sends email to a specified recipient about every patch in the repository that it has not sent mail about yet. It can be run from Cron or as a darcs apply posthook, whichever fits best your needs.

It ought not be too hard to extend it for other kinds of notification than just emails; but no others are implemented at this time.

There is a DarcsWiki page on darcs-monitor at http://wiki.darcs.net/RelatedSoftware/DarcsMonitor

                         Installation

Darcs-monitor depends on mtl and HaXml. First, make sure they are installed.

Darcs-monitor is Cabalised. The standard incantations

runhaskell Setup.hs configure runhaskell Setup.hs build runhaskell Setup.hs install

ought to work for most people.

Darcs-monitor has been tested using GHC 6.12.1. It might not work with older compilers; though patches are accepted for fixing any unportabilities.

                            Usage

In the following, I assume that the repository you want to monitor is in directory $REPO.

To have darcs-monitor run every time someone pushes to the repository, create the file $REPO/_darcs/prefs/defaults with the following content:

8<-- cut here -- apply posthook darcs-monitor --charset=CHARSET email RECIPIENT apply run-posthook 8<-- cut here

In the above, CHARSET should be the MIME charset that patches (including their metadata) are in, and RECIPIENT should be the email address where emails should be sent. Also, if darcs-monitor is not installed in the default $PATH, you should specify th full path to the darcs-monitor binary.

You can also run darcs-monitor from Cron or from the command line. In those cases, it is easiest to specify the path to the repository on the command line after other arguments. In fact, you can specify more than one.

By default, mail is sent by calling /usr/sbin/sendmail. Another sendmail binary can be specified by using a command-line switch.

You can customise the email by providing a template. The default one is installed in the Cabal-specified datadir as "default-template". You should put your own template in the file $REPO/_darcs/third-party/darcs-monitor/email-template (you can use other files, but then you have to specify where it is).

In the template you can use the following substitutions: %RECIPIENT% -- the email address to which email is sent %DIFF% -- the Darcs-provided diff -u of the patch %CHANGES% -- a Darcs-provided summary of changes %REPO% -- the path to the repository %SHORTREPO% -- the final component of the path to the repository %AUTHOR% -- the patch author %DATE% -- the patch date %HASH% -- the patch Darcs hash %TITLE% -- the patch name %COMMENT% -- the patch comment

Also, in the template, two percent signs in sequence (%%) start a comment that extends to the end of the current line.

                            Thanks

The following people, in addition to myself, have contributed code to this program:

Benja Fallenstein Benjamin Franksen

My thanks to them.

                           Feedback

Please send comments and bug reports to marcot@debian.org.

Any patches should be prepared with Darcs against the repository http://people.debian.org/~marcot/darcs/darcs-monitor/ and sent using "darcs send".

Have fun,

Antti-Juhani Kaijanaho