Next: , Previous: Using Maildirs, Up: Mail-parsing ChangeSources


4.6.4.3 Parsing Email Change Messages

The second component to setting up an email-based ChangeSource is to parse the actual notices. This is highly dependent upon the VC system and commit script in use.

A couple of common tools used to create these change emails are:

CVS
‘CVSToys MailNotifier’
FCMaildirSource
‘Bonsai notification’
BonsaiMaildirSource
‘syncmail’
SyncmailMaildirSource

SVN
‘svnmailer’
http://opensource.perlig.de/en/svnmailer/
‘commit-email.pl’
SVNCommitEmailMaildirSource

Bzr
‘Launchpad’
BzrLaunchpadEmailMaildirSource

Mercurial
‘NotifyExtension’
http://www.selenic.com/mercurial/wiki/index.cgi/NotifyExtension

Git
‘post-receive-email’
http://git.kernel.org/?p=git/git.git;a=blob;f=contrib/hooks/post-receive-email;hb=HEAD

The following sections describe the parsers available for each of these tools.

Most of these parsers accept a prefix= argument, which is used to limit the set of files that the buildmaster pays attention to. This is most useful for systems like CVS and SVN which put multiple projects in a single repository (or use repository names to indicate branches). Each filename that appears in the email is tested against the prefix: if the filename does not start with the prefix, the file is ignored. If the filename does start with the prefix, that prefix is stripped from the filename before any further processing is done. Thus the prefix usually ends with a slash.