CVSspamNotification of CVS commits, by emailCVSEmailCVS logCVSspam emails you diffsDifferences; as determined by
the unix 'diff' command when a change is committed to
your CVSConcurrent
Versions System repository. These HTML mails
hyperlink to further details and use styling to emphasise information
structure.ExampleSee a basic example and an
artificially complicated test case
email.FeaturesEvery email includes colourised unified-diffs for all changed
text files, and the committer's log comment.Configurable limits prevent emails becoming too large.If configured, mails can include links to
Bugzilla
bugs, RT tickets
and JIRA
issues, from specially formated log messages.If configured, mails can include links to a
ViewCVS,
CVSweb
or Chora view of your
repository. Particularly useful for seeing binary image files before
and after a change.Written in
RubyThe Ruby Programming Language.
GZipped Tar file
Initial release of port from
Perl to Ruby
GZipped Tar file
Diff output not (less?)
brokenGenerates prefixes like
[CVS repositoryname] for mail subjectsIn some versions of ruby there
was a syntax errorOn some setups it complained
about diff having failed, when it hadn'tDisplays branch names and
versions (with viewcvs links) in the top-of-mail file indexBinary and Empty files only
appear in the top-of-mail index, not in the 'diffs' sectionIf the only change on a line
is the dos vs. unix line type, try to highlight thatRestricts length of the
subject to 200 charsTweaked HTML a bit for
Evolution (but still no colour highlights)
GZipped Tar file
Truncate diff output after
1000 linesMake files in the same dir
easier to spot in the top-of-mail indexMake bug-regexp match more
possibilitiesFix some broken HTML
syntax
GZipped Tar file
Really use the
$cvs_prog from the config filePrevent error on adding directory
to CVSMake URLs and email
addresses from log comment into links in HTMLFix some cases of broken HTML
generationImproved formatting
GZipped Tar file
Supports committing to many
top-level projects under a CVSROOT at once, which used to cause an
infinite loopNow reports branch name for
deleted files (as well as added or modified ones)Changes in RCS keywords may
now be suppressed in diff output (e.g. changes in
$Revision$ number)The contents of files that
are being removed may be excluded from mailsThe the character-encoding
specified in the mail headers is configurableSmall tweaks to the message
formatting
GZipped Tar file
Fix temp-file security problems
(and honour $TMPDIR)Encode non-ASCII characters in
the email Subject header (per RFC2047)Support Chora as well as
ViewCVSWhen all files where
commited on the same branch, don't display the branch name against
every fileMake each component of a
file's path into a link, and carry any branch name though to the
dir-view (ViewCVS only)Tries to generate
X-Originating-IP header for remote CVS commitsFixed more HTML issues
GZipped Tar file
Any CVS branch name is
included in the email subject, and the names of files commited may be
added tooCVSweb is now a supprted web
front-endThe script can make better
From addresses when using a CVS pserver with aliased usernames, using a
new flagJIRA issue numbers and RT
ticket numbers can be made into links from the log comment
GZipped Tar file
Support sending email using
Net::SNMP for people with no MTA on their CVS
serverSupport ViewCVS's
multiple-repository featureDocumentation
improvementsFix some 'uninitialized variable'
warnings
GZipped Tar file
Take sender email addresses
from the
CVSROOT/users
config file, if it existsTruncate super-long lines in
diff outputFix an error generating the email
subject under certain circumstancesMulti-repository support for
CVSweb
GZipped Tar file
The expansion of a CVS username
in CVSROOT/users may now contain whitespace,
although we may still not be properly handling quotes in this
fileA 2 megabyte limit is placed
on the amount of diff output included in emails. The limit is
soft; we are allowed to pass the limit to
prevent truncating a file's diff midway (but note that a seperate limit
on the number of lines in an individual file's diff already
exists)When using SMTP directly to
send mail, a date header is now included, as its lack broke most
mail-reader's sort-by-date functionalityFixes problems in commitinfo
argument parsing that would prevent CVSspam working with the CVS 1.12.x
seriesWork around occasional
received broken pipe signal errors from CVS, in at
least some cases
GZipped Tar file
Stop commits from some Mac CVS
clients breaking the Subject, and all following headersStop a '.' appearing on a line on
its own in the commit log comment breaking this, and subsequent
notification emailsMade the
$no_removed_file_diff option workImplemented a
$no_added_file_diff option to suppress inclusion of
diffs containing the contents of added files, and a
$no_diff option, for supression diffs
entirelyTried to fix breakage of the tag
in the email subject (which creates text like
#<Repository:0x402d08c4>, rather than the name
of the top-level CVS project directory). Fix unconfirmedAltered some of the
HTML-generating code making it less likely to produce super-long lines
in the email markupFixed unescaped ampersand in the
HTMLSupply missing
repository_name attribute to CVSweb code
GZipped Tar file
Email addresses parsed from
CVSROOT/users are now stripped of any surrounding
quotes, thanks to a patch from Elan Ruusamäe.A numbering error that caused
links from the top-of-mail index to point at the file next to the one
they should have pointed at was fixed; as reported by several
people.Ricardo Pardini provided a
patch that handles [[Wiki Links]] in the commit log comment.Newer versions of Ruby don't
allow scripts to modify their command-line arguments, so CVSspam
altered to avoid doing that. (A problem that was introduced in release
0.2.11 while trying to fix another issue; thanks to Sven Köhler for
checking this).Improve email address
handling, so that we can now encode non-ASCII characters in any
'personal name' part of an address. Elan Ruusamäe pointed out the lack
of encoding.Per a suggestion by
Corporate Gadfly, the presence of the
'sticky option'
on a file now
causes CVSspam to avoid producing a diff for that file; handy when
diff's inbuilt binary-file detection heuristic fails. The
option
can be specified when files are added to the repository, or added
later with cvs admin.It is now possible to
specify a charset for emails in the
CVSROOT/loginfo configuration file (so the setting
can vary between CVS modules). This feature was implemented by Elan
Ruusamäe.Handle the case where
someone has checked out the entire repository
(cvs co .); avoid creating email subjects with
prefix '[CVS .]'. Thanks to Christopher Petro for the patch.Allow the internal
$max_lines_per_diff option to be set to
nil, meaning 'no limit', following Christopher
Petro's suggestion.The CSSCascading
Style Sheet formatting for the
'commit log comment' portion of the email now allows long lines to be
broken, in mail clients that support this feature.The documentation now gives
an overview of the install process before diving into a description of
the steps.Notification of commits to a
given, single file can now be automatically threaded together by mail
clients that support this, thanks to a suggestion by Elan
Ruusamäe.Email questions, bug reports, feature requests and patches to
the development mailing listMany Satisfied Customers!
Matthew LenzThe outlook express spell checker offers the word
Cesspit as a
replacement for the misspelled word
CVSspam.
Sascha SadeghianCVSspam - nomen est omen!
George MarrowsHmmm .. I wonder about a meeting of the badgers in foil and
Whywhytheluckystiff's
chunky bacon foxes .. perhaps in the next installment of the
poignant guideWhy's
(Poignant) Guide to Ruby?
Harry JacksonChris Andrews wrote:> badgers-in-foilIs this with a little white wine, bay leaves, a smattering of
diced onions, ground pepper and garlic to taste. I can heartily recommend
it with Chicken.
Elliotte Rusty HaroldDespite the hideous name this actually looks like a nice
product