[Buildbot-commits] buildbot/docs buildbot.texinfo,1.107,1.108
Brian Warner
warner at users.sourceforge.net
Sat Jul 28 02:37:17 UTC 2007
Update of /cvsroot/buildbot/buildbot/docs
In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv20422/docs
Modified Files:
buildbot.texinfo
Log Message:
[project @ buildbot.texinfo: more MaildirSource docs refactoring]
Original author: warner at lothar.com
Date: 2007-07-28 02:36:12+00:00
Index: buildbot.texinfo
===================================================================
RCS file: /cvsroot/buildbot/buildbot/docs/buildbot.texinfo,v
retrieving revision 1.107
retrieving revision 1.108
diff -u -d -r1.107 -r1.108
--- buildbot.texinfo 28 Jul 2007 02:03:09 -0000 1.107
+++ buildbot.texinfo 28 Jul 2007 02:37:14 -0000 1.108
@@ -160,7 +160,7 @@
Parsing Email Change Messages
-* CVSToys MailNotification::
+* FCMaildirSource::
* SyncmailMaildirSource::
* BonsaiMaildirSource::
@@ -2719,7 +2719,18 @@
parse the messages, which is highly dependent upon the tool that was
used to create them. Each VC system has a collection of favorite
change-emailing tools, and each has a slightly different format, so
-each has a different parsing function.
+each has a different parsing function. There is a separate
+ChangeSource variant for each parsing function.
+
+Once you've chosen a maildir location and a parsing function, create
+the change source and put it in the @code{c['sources']} list. Since
+buildmasters usually only have a single change source,
+ at code{c['sources']} can also be a single instance:
+
+ at example
+from buildbot.changes.mail import SyncmailMaildirSource
+c['sources'] = SyncmailMaildirSource("~/maildir-buildbot", prefix="/trunk/")
+ at end example
@menu
* Subscribing the Buildmaster::
@@ -2800,11 +2811,11 @@
@item CVS
@table @samp
@item CVSToys MailNotifier
-http://twistedmatrix.com/users/acapnotic/wares/code/CVSToys/
+ at ref{FCMaildirSource}
@item Bonsai notification
-http://www.mozilla.org/bonsai.html
+ at ref{BonsaiMaildirSource}
@item syncmail
-http://sourceforge.net/projects/cvs-syncmail
+ at ref{SyncmailMaildirSource}
@end table
@item SVN
@@ -2823,49 +2834,75 @@
@end table
+Most of these parsers accept a @code{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 @emph{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.
+
+
The following sections describe the parsers available for each of
these tools.
@menu
-* CVSToys MailNotification::
+* FCMaildirSource::
* SyncmailMaildirSource::
* BonsaiMaildirSource::
@end menu
- at node CVSToys MailNotification, SyncmailMaildirSource, Parsing Email Change Messages, Parsing Email Change Messages
- at subsubsection CVSToys MailNotification
+ at node FCMaildirSource, SyncmailMaildirSource, Parsing Email Change Messages, Parsing Email Change Messages
+ at subsubsection FCMaildirSource
@csindex buildbot.changes.mail.FCMaildirSource
-CVSToys also provides a @code{MailNotification} action which will send
-email to a list of recipients for each commit. This tends to work
-better than using @code{/bin/mail} from within the CVSROOT/loginfo
-file directly, as CVSToys will batch together all files changed during
-the same CVS invocation, and can provide more information (like
-creating a ViewCVS URL for each file changed).
+http://twistedmatrix.com/users/acapnotic/wares/code/CVSToys/
-The Buildbot's @code{FCMaildirSource} is a ChangeSource which knows
-how to parse these CVSToys messages and turn them into Change objects.
-It watches a Maildir for new messages.
+This parser works with the CVSToys @code{MailNotification} action,
+which will send email to a list of recipients for each commit. This
+tends to work better than using @code{/bin/mail} from within the
+CVSROOT/loginfo file directly, as CVSToys will batch together all
+files changed during the same CVS invocation, and can provide more
+information (like creating a ViewCVS URL for each file changed).
-The @code{FCMaildirSource} is created with two parameters: the
-directory name of the maildir root, and the prefix to strip.
+The Buildbot's @code{FCMaildirSource} knows for to parse these CVSToys
+messages and turn them into Change objects. It can be given two
+parameters: the directory name of the maildir root, and the prefix to
+strip.
- at node SyncmailMaildirSource, BonsaiMaildirSource, CVSToys MailNotification, Parsing Email Change Messages
+ at example
+from buildbot.changes.mail import FCMaildirSource
+c['sources'] = FCMaildirSource("~/maildir-buildbot")
+ at end example
+
+ at node SyncmailMaildirSource, BonsaiMaildirSource, FCMaildirSource, Parsing Email Change Messages
@subsubsection SyncmailMaildirSource
@csindex buildbot.changes.mail.SyncmailMaildirSource
- at code{SyncmailMaildirSource} knows how to parse the message format
-used in mail sent by Syncmail.
+http://sourceforge.net/projects/cvs-syncmail
+
+ at code{SyncmailMaildirSource} knows how to parse the message format used by
+the CVS ``syncmail'' script.
+
+ at example
+from buildbot.changes.mail import SyncmailMaildirSource
+c['sources'] = SyncmailMaildirSource("~/maildir-buildbot")
+ at end example
@node BonsaiMaildirSource, , SyncmailMaildirSource, Parsing Email Change Messages
@subsubsection BonsaiMaildirSource
@csindex buildbot.changes.mail.BonsaiMaildirSource
- at code{BonsaiMaildirSource} parses messages sent out by Bonsai.
+http://www.mozilla.org/bonsai.html
+
+ at code{bonsai_parser} parses messages sent out by Bonsai, the CVS
+tree-management system built by Mozilla.
@node PBChangeSource, P4Source, Mail-parsing ChangeSources, Getting Source Code Changes
More information about the Commits
mailing list