CVSMAIL(1)

NAME
cvsmail - add cvsweb.cgi links to FreeBSD commit mail

SYNOPSIS
cvsmail [-Ccdfqv] [-u url] [-U url]

DESCRIPTION
cvsmail can be used from a procmailrc(5) file to add cvsweb.cgi links to FreeBSD commit mail, allowing you to easily view the diffs for a particular commit.

The following flags are accepted:

-C  Print diffs or links to diffs in context diff format, rather than the default unified diff format.

-c  Print links to human-readable, coloured diffs, instead of the default plain diffs.

-d  Include diffs in the output, as well as links to the diffs.

-f  Munge the data so that a line starting with “From” and a space has a ‘>’ character insterted before it. This prevents some MUAs from assuming that line is the start of a new message if the mailbox is in traditional mbox format. It will also insert a dummy “From” line as the first line of the message if the first line read by cvsmail is not already a “From” line.

-q  Operate quietly. This is the default if stderr is not a terminal.

-v  Operate more verbosely. This is the default is stderr is a terminal.

-u  Specify an alternate cvsweb.cgi script. The default is “http://cvsweb.FreeBSD.org/”. Please note that the argument to this must include the trailing slash.

-U  Specify an additional cvsweb.cgi script, to be used in addition to the default. As with the -u flag, the argument to this flag must include the trailing slash.

EXAMPLES
The following procmailrc(5) rule might be used.

    :0
    * ^Sender: owner-cvs-all@freebsd.org
    {
      :0
      * X-FreeBSD-CVS-Branch:.*RELENG_4
      | cvsmail -f $MAILDIR/lists/freebsd-cvs-stable
      :0
      * X-FreeBSD-CVS-Branch:.*RELENG_
      | cvsmail -f $MAILDIR/lists/freebsd-cvs-other
      :0
      | cvsmail -f $MAILDIR/lists/freebsd-cvs-all
    }

This will separate your commit mail into separate folders based on the CVS branch affected. If you are a committer, you might prefer a rule more like this.

    :0
    * ^Sender: owner-cvs-committers@freebsd.org
    {
      :0
      * Subject:.*cvs commit:
      {
        :0
        * X-FreeBSD-CVS-Branch:.*RELENG_4
        | cvsmail -f $MAILDIR/lists/freebsd-cvs-stable
        :0
        * X-FreeBSD-CVS-Branch:.*RELENG_
        | cvsmail -f $MAILDIR/lists/freebsd-cvs-other
        :0
        | cvsmail -f $MAILDIR/lists/freebsd-cvs-all
      }
      :0
      lists/freebsd-committers
    }

AUTHORS
Ben Smithurst <ben@smithurst.org>