---
name: "darcs-monitor"
section: "1"
platform: "linux"
package: "darcs-monitor"
version: "0.4.2-14+b2"
release: "Debian 12 (Bookworm)"
platforms: ["linux"]
url: "https://new.carta.tech/darcs-monitor"
---

# darcs-monitor(1)

Darcs add-on that sends mail about newly pushed changes

## NAME

darcs-monitor - Darcs add-on that sends mail about newly pushed changes

## SYNOPSIS

**darcs-monitor** \[ *option* ... \] **email** *recipient* \[ **email** *recipient* ... \] \[ *repository* ... \]

**darcs-monitor** **-h** \| **--help**

**darcs-monitor** **--version**

## DESCRIPTION

**darcs-monitor** reads one or more [**darcs**(1)](/darcs/1.md) repositories and sends email about every change it has not previously sent an email about to the same address. To have darcs-monitor run every time someone pushes to a repository, add the following lines to  *\_darcs/prefs/defaults*.

-

  **apply** **posthook** **darcs-monitor** **--charset=***charset* **email** *recipient* \[ **email** *recipient* ... \]\
   **apply** **run-posthook**\

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.  You can specify more than one recipient by repeating the email parameter.

You can also run **darcs-monitor** from [**crontab**(1)](/crontab/1.md) 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 (1)** binary can be specified by using a command-line switch.

You can customise the email by providing a template. You should put your own template in the file *\_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.

## OPTIONS

- \-n, --dry-run

  Do not actually do anything, but do mark it done.

- \--darcs-path=FILE

  Provide the location of the [**darcs**(1)](/darcs/1.md) executable.

- \--darcs-args=ARGS

  Provide additional arguments to [**darcs**(1)](/darcs/1.md), separating arguments with commas.

- \--use-sendmail\[=FILE\]

  Use [**sendmail**(1)](/sendmail/1.md) (either at */usr/sbin/sendmail* or at *FILE*).

- \-d, --max-diff=SIZE

  Only include the first SIZE bytes of the diff in the e-mail.

- \--charset=CHARSET

  Specify the MIME name of the repository's character set.

- \-h, --help

  Show usage.

- \--version

  Show version.

## EXIT STATUS

Success is indicated by 0, failure by any other exit status.

## FILES

- */usr/share/darcs-monitor/default-template*

  The default email template.  See above for the format.

## AUTHOR

**darcs-monitor** was written by Antti-Juhani Kaijanaho.

## SEE ALSO

[**darcs**(1)](/darcs/1.md)
