Revision history for Perl extension SVN::Notify
2.53 2006-02-24T21:30:48
- Added 'header' and 'footer' attributes and command-line options to
specify text to be put at the head and foot of each message. For HTML
messages, the text will be escaped, unless it starts with "<", in
which case it will be assumed to be valid HTML and will therefore not
be escaped. Either way, it will be output between <div> tags with the
IDs "header" or "footer" as appropriate.
- Fixed the executable-searching algorithm added in 2.52 to add ".exe"
to the name of the executable being searched for if $^O eq 'MSWin32'.
- Fixed encoding issues so that, under Perl 5.8 and later, the IO layer
is set on file handles so as to encode input and decode output in the
character set specified by the 'charset' attribute. CPAN # 16050,
reported by Michael Zehrer.
- Added a second argument to all calls to encode_entities() in
SVN::Notify::HTML and SVN::Notify::HTML::ColorDiff so that only '>'.
'<', '&', and '"' are escaped.
- Fixed a bug in the _find_exe() function that was attempting to modify
a constant variable. Patch from John Peacock.
- Turned the _find_exe() function into the find_exe() class method,
since subclasses (such as SVN::Notify::Mirror) might want to use it.
2.52 2006-02-19T18:50:24
- Now uses File::Spec->path to search for a validate sendmail or svnlook
when they're not specified via their respetive command-line options or
environment variables. Suggested by Andreas Koenig. Not that they
should probably be explicitly set anyway, as the PATH environment
variable tends to be non-existent when running under Apache.
2.51 2006-01-02T23:28:11
- Fixed ColorDiff HTML to once again be valid XHTML 1.1.
2.50 2005-11-10T23:27:22
- Added "ticket-url" and "ticket-regex" options to be used by those who
want to match ticket identifers for systems other than RT, Bugzilla,
GNATS, and JIRA. Based on a patch from Andrew O'Brien.
- Removed bogus 'use lib' line put into Makefile.PL by a prerelease
version of Module::Build.
- Fixed HTML tests to match either "'" or "'", since HTML::Entities
can be configured differently on different systems.
2.49 2005-09-29T17:26:14
- Now require Getopt::Long 2.34 so that the --to-regex-map option works
correctly when it is used only once on the command-line.
2.48 2005-09-06T19:14:35
- Swiched from <span class="add"> and <span class="rem"> to <ins> and
<del> elements in SVN::Notify::HTML::ColorDiff in order to make the
markup more semantic.
2.47 2005-09-03T18:54:43
- Fixed options tests to work correctly with older versions of
Getopt::Long. Reported by Craig McElroy.
- Slick new CSS treatment used for the HTML and HTML::ColorDiff emails.
Based on a patch from Bill Lynch.
- Added "svnweb_url" option. Based on a patch from Ricardo Signes.
2.46 2005-05-05T05:22:54
- Added support for "Copied" files to HTML::ColorDiff so that they
display properly.
2.45 2005-05-04T20:38:18
- Added support for links to the GNATS bug tracking system.
Patch from Nathan Walp.
2.44 2005-03-18T06:10:01
- Fixed Name in POD so that SVN::Notify's POD gets indexed by
search.cpan.org. Reported by Ricardo Signes.
2.43 2004-11-24T18:49:40
- Added "--strip-cx-regex" option to strip out parts of the
context from the subject. Useful for removing parts of the
file names you might not be interested in seeing in every
commit message.
- Added "--no-first-line" option to omit the first sentence or
line of the log message from the subject. Useful in combination
with the "--subject-cx" option.
2.42 2004-11-19T18:47:20
- Changed "Files" to "Paths" in hash returned by "file_label_map()"
since directories can be listed as well as files.
- Fixed SVN::Notify::HTML so that directories listed among the
changed paths are not links.
- Requiring Module::Build 0.26 to make sure that the installation
works properly. Reported by Robert Spier.
2.41 2004-10-21T20:33:25
- Added missing newline between the commit metadata and the log
message in SVN::Notify.
2.40 2004-10-21T19:49:40
- Fixed accessor generation so that accessors created for the
attributes passed to "register_attributes()" but a subclass are
created in the subclass' package instead of in SVN::Notify.
- Changed parsing for JIRA keys to use any set of capital letters
followed by a dash and then a number, rather than the literal
string "JIRA-" followed by a number. Reported by Garrett Rooney.
- Modified the regular expression patterns for the RT, Bugzilla,
RT, and ViewCVS links to properly match on word boundaries, so
that strings like "humbug 12" don't match.
- Modified the ViewCVS link regular expression pattern so that it
matches strings like "rev 12" as well as "revision 12".
- Modified the RT link regular expression pattern so that it
matches strings like "RT-Ticket: 23" as well as "Ticket 1234".
Suggested by Jesse Vincent.
- Added complicated example to try to show off all of the major
features. I will keep this up-to-date going forward in order to
post sample output on the Web.
- Fixed the parsing of log messages so that empty lines are no
longer eliminated.
- HTML::ColorDiff now properly handles the listing of binary files
in the diff, marking them with a new class, "binary", and using
the same CSS as is used for the "propset" class.
- In HTML::ColorDiff, Fixed CSS for the "delfile" class to properly
wrap it in a border like the other files in the diff.
- Added labels to the HTML::ColorDiff diff file sections to indicate
the type of change ("Modified", "Added", "Deleted", or "Property
changes").
- Moved the "rt_url", "bugzilla_url", and "jira_url" parameters from
SVN::Notify::HTML to SVN::Notify, where they are used to add URLs
to the text version of log messages.
2.30 2004-10-19T05:20:02
- Added "register_attributes()" class method so that subclasses can
easily specify their own attributes and the corresponding command-
line options. This method will also create accessors for such
attributes.
- Moved the command-line option parsing to the new "get_options()"
class method, so options specified via the "register_attributes()"
class method can centrally be parsed from the command-line.
- Removed the deprecated "format" option and parameter to new().
- Added the "language" attribute to specify the language of the
message, file names, and file contents.
- Added the "linkize" attribute to SVN::Notify::HTML. When this
attribute is set to a true value, URLs and email addresses in the
log message will be turned into links.
- Added new "bugzilla_url", "jira_url", and "rt_url" attributes to
SVN::Notify. If present, these URLs will be used to create
links from certain strings in the log message.
- Changed the "viewcvs_url" attribute to require an "%s" format
for the placement of the revision number to match the way the
new URL attributes work. As an interim measure, SVN::Notify will
append what it has always appended and emit a warning if there is
no "%s" in the "viewcvs_url" string.
- Fixed SVN::Notify::HTML::ColorDiff so that it does not output two
separate sections for a single file that was both modified (or
added or deleted) and had properties set.
2.22 2004-10-15T06:12:46
- Fixed diff parsing in SVN::Notitfy::HTML and
SVN::Notitfy::HTML::ColoDiff to recognize added and deleted files.
- Added links to files for which properties were set down into
their place in the diff in SVN::Notitfy::HTML and
SVN::Notitfy::HTML::ColoDiff.
- Changed the class for each file in the diff output by
SVN::Notitfy::HTML::ColoDiff to be specific to whether the file
was modified, added, deleted, or just had its properties set.
2.21 2004-10-09T22:37:34
- Tweaked HTML to make it all XHTML 1.1 compliant.
- Switched to using attribute accessors instead of direct hash
access in the subclasses to serve as a better example for others.
- Changed the diff output methods to accept the diff input file
handle as the second argument, so that it is created in only
one place.
2.20 2004-10-09T20:01:28
- Subclassing Module::Build in Build.PL to move and set the shebang
line in test scripts during "./Build" instead of simply changing
the shebang line in-place during "perl Build.PL".
- Split the "start_message()" method into two methods, the second
one called "output_metadata()", to separate starting the message
and outputting content.
- Added "output_css()" method to SVN::Notify::HTML, called by its
"start_message()" method to output CSS for the HTML email.
- Added CSS to the email in SVN::Notify::HTML.
- Added links from the changed file list in HTML email to the
included diff.
- Added SVN::Notify::HTML::ColorDiff, a new subclass that colorizes
the diff when it is included in the HTML email message.
2.10 2004-10-07T06:18:59
- Added many new methods to break up the various activities of
assembling a notification message. This will make subclassing
easier.
- Moved all HTML notification functionality into a new subclass,
SVN::Notify::HTML.
- Added new "handler" parameter to new() and "--handler" option to
svnnotify to specify what subclass should handle sending the
notification. Just specify the name of a subclass, such as "HTML"
for SVN::Notify::HTML. This replaces the "format" parameter, which
is now deprecated.
- Added code to Build.PL to set the shebang line in the test
scripts. Reported by Robert Spier.
- Changed name of attached diff file to be named for the revision
and the committer, rather than the committer and the date.
Suggested by Robert Spier.
- Added Author, Date, and Revision information to the top of each
message.
- The ViewCVS URL is no longer output for each file. A single link
for the entire revision number is put at the top of the email,
instead. ViewCVS Revision URL syntax pointed out by Peter
Valdemar Morch.
- Changed the C<send()> method to C<execute()> to better reflect
its generalized use as the method that executes actions in
response to Subversion activity.
- The tests no longer require HTML::Entities to run. The HTML
email tests will be skipped if it is not installed.
- Added accessor methods for the attributes of SVN::Notify.
2.00 2004-10-04T05:09:17
- First release, ported from activitymail 1.11, but completely
rewritten, with a new script interface and a separate class
that manages everything.
- Added "to_cx_regex" parameter to control the recipients based
on how regular expressions match directory names.
- Added "charset" parameter.
- Added "user_domain" parameter.
- Added "sendmail" parameter.