cvslog Change History

1.62 (2013-09-21)

Update another link to diffstat in the documentation.

Lines changed: +2 -2

1.61 (2013-07-21)

Canonicalize link to diffstat.

Lines changed: +2 -2

1.60 (2009-05-17)

Update URL for diffstat in the documentation.

Lines changed: +3 -3

1.59 (2007-05-24)

Avoid warnings when the CVS user doesn't exist on the local system.

Lines changed: +2 -1

1.58 (2007-03-05)

Allow CVS_USER as well as CVSUSER. It looks like the current versions of CVS use the former instead of the latter.

Lines changed: +6 -6

1.57 (2007-02-13)

--diff-limit takes an argument. Tell Getopt::Long that. Thanks to Aaron Griffin for the fix.

Lines changed: +2 -2

1.56 (2007-02-12)

Another fix to cvsweb URLs: make sure that each URL has a newline at the end of it. Thanks, Slava Girshman.

Don't include a diff if it's over than 200KB by default and add a new option, --diff-limit, that allows one to change that limit. Thanks to Aaron Griffin for the idea.

Lines changed: +33 -16

1.55 (2007-02-10)

For deleted files, show the previous revision, similar to how we show the new revision for created files. Suppress the diff formatting option and the .diff suffix when showing file revisions rather than diffs. Thanks, Slava Girshman.

Lines changed: +11 -7

1.54 (2007-01-28)

Suppress cvsweb diffs for removed files and, for created files, link to the simple filename rather than a diff. This avoids putting the NONE CVS pseudo-revisions into the URLs, which some cvsweb implementations don't cope with. Suggestion from Slava Girshman.

Lines changed: +24 -12

1.53 (2006-11-14)

Add a newline to the end of each cvsweb URL. Thanks, Matthew Clarke.

Lines changed: +2 -2

1.52 (2006-09-03)

Improve wrapping of files in the lists of added, removed, and modified files. Wrap at 78 columns rather than 74 columns, don't keep a stray space on the line after a too-long file, and calculate remaining space in a more intuitive fashion.

Allow options to be specified in the base cvsweb URL and insert the filename into the appropriate place in such a URL. Support contributed by Dirk Jagdmann.

Lines changed: +28 -15

1.51 (2005-04-16)

Ignore lines in the CVS passwd file that don't contain a colon to avoid a warning on passwd files with odd structure or blank lines.

Lines changed: +2 -1

1.50 (2005-03-14)

Autoflush the MAIL file handle so that we don't get two copies of the commit message in the mail message when the commit message doesn't end in a newline (due to the stdio buffering being inherited across fork when running cvs and diffstat).

Lines changed: +4 -1

1.49 (2004-06-11)

Correctly handle directory adds and source imports using the new-style info format strings. Update the documentation for the 1.12.6 improvements to the log interface, and warn that files with newlines still aren't handled correctly. Mention putting -- before the arguments to cvslog that come from CVS.

Lines changed: +23 -10

1.48 (2004-06-11)

Adjust for a bug in the backward compatibility handling in CVS 1.12.6 or later. Attempt to handle the new format found in 1.12.6, although this hasn't been fully tested yet.

Lines changed: +37 -10

1.47 (2004-04-18)

Use B<> for the --cvslog option documentation, not I<>.

Lines changed: +2 -2

1.46 (2004-04-18)

Update the required version of Perl in the documentation.

Lines changed: +2 -2

1.45 (2004-04-18)

Added support for including cvsweb URLs in the mail message. Enable with the -c flag, and include the URL base in the configuration file with the new option cvsweb.

Added optional support for including the version numbers in the summary of files added, removed, and changed, based on work by Dave Clendenan. Turn this on with the -i flag.

Fixed handling of binary files. The previous implementation would truncate the diffstat output at the first binary file and the appended diff output didn't contain the <<Binary file>> tag as intended if more than one file was committed. Both of these problems have been fixed.

Improved the parsing of file names in several places to work better with file names containing spaces or commas, based on ideas from Dave Clendenan. Not all possible file names will work correctly, but more should now work than did before. (There is are design flaws in the way CVS outputs log messages preventing a final fix.)

Added a debug mode that prints out all of the arguments and input that cvslog sees from CVS, for help with development.

Improved the logic for limiting the length of the Subject header to take into account the prefix defined in the configuration file and the length of the Subject: header itself.

Enabled warnings. Suppressed a warning when run with -v outside of CVS. Changed to look in /usr/sbin for sendmail before /usr/lib as the default. Updated to my current code for -v.

Lines changed: +254 -121

1.44 (2003-03-25)

Add somewhat better support for binary files with diffstat or diffs, catching the error message from CVS rather than displaying it to the user and replacing the diff or diffstat line with a note that the file is binary.

Lines changed: +16 -1

1.43 (2003-03-12)

Exit if there are no recipient addresses for the mail. Don't add the mailhost setting to addresses unless they're non-empty (handling the case where no default address is defined in cvslog.conf, just one given on the command line with -a). Reported by Eliezio Oliveira.

Lines changed: +7 -2

1.42 (2003-02-09)

Added the -l option to include all affected file names in the subject regardless of length, and the -o option to omit the author information from the commit notification. Both were suggested by Pav Lucistnik.

Lines changed: +29 -22

1.41 (2003-02-09)

The repository path and local path were being trimmed too soon, not just before output, which was causing difficulties in recognizing multidirectory commits to really long paths. Fixed, reported by Mathieu Peltier.

Added a note to BUGS about file names containing spaces, reported by Francois Cottet.

Lines changed: +28 -21

1.40 (2003-01-10)

Handle files committed to the top level of the repository, for which CVS does not include a directory name in the commit message. Reported by Mathieu Peltier.

Lines changed: +16 -3

1.39 (2002-11-25)

Don't add the module to the subject header unless there is one, to avoid introducing two spaces. Patch from Mathieu Peltier.

Lines changed: +6 -4

1.38 (2002-06-25)

Remove extra spaces from the checkoutlist entries in the documentation since they show up in the error output. Add some additional documentation on how to install cvsprep.

Lines changed: +13 -6

1.37 (2002-06-25)

More documentation improvements. Add the URL for diffstat to SEE ALSO and note that cvsprep is available from the cvslog web site. Mention that the first line of cvslog and cvsprep may have to be changed to point to the local installation of Perl.

Lines changed: +10 -6

1.36 (2002-06-25)

Various documentation fixes.

Mention the requirement of CVS 1.10 or later and mention that -d and -s require that CVS be found in the user's PATH. Note that errors about not being able to find the file names and revisions may be due to using too old a version of CVS.

Remove the BUGS item for not having a way to specify a path to diffstat.

Fix the markup in the documentation in a few places and change the LICENSE section to COPYRIGHT AND LICENSE for compatibility with the Perl standard.

Lines changed: +22 -15

1.35 (2002-06-25)

When appending diffs, all of the diffs were being discarded except the last. Fixed with a patch from Kristoffer Gleditsch.

Lines changed: +2 -2

1.34 (2002-03-27)

Change the default Perl invocation to /usr/bin/perl. Nothing is really portable, but /usr/pubsw/bin/perl definitely isn't.

Lines changed: +2 -2

1.33 (2002-03-27)

Strip everything after the first comma from the user's full name. Add a command line flag that says to send the full diff output of the change, based on a patch by Kristoffer Gleditsch.

Lines changed: +58 -12

1.32 (2002-03-25)

Addresses set in CVS passwd files weren't getting properly chomped.

Lines changed: +2 -1

1.31 (2002-03-25)

Fix the bug with diffstat output for commits on branches.

Lines changed: +2 -2

1.30 (2002-03-25)

Fix the way the default value of sendmail is handled.

Lines changed: +2 -3

1.29 (2002-03-25)

Add a configuration variable "sendmail" to set the full path to the sendmail binary.

Lines changed: +20 -10

1.28 (2002-03-22)

Fix the way that the name is formed for the mail headers.

Lines changed: +8 -4

1.27 (2002-02-16)

Build a From: header for the mail using passwd in CVSROOT if available and the system password file otherwise. Uses CVSUSER as the username if set. Based on a patch by Lars Magne Ingebrigtsen.

Lines changed: +45 -9

1.26 (2002-01-01)

Don't loop infinitely on empty commit messages and take the committer information from CVSUSER in preference to $< where available. Patches from Lars Magne Ingebrigtsen.

Lines changed: +4 -4

1.25 (2001-12-30)

It's okay if a repository doesn't have a modules file; just use the full directory path as the module.

Lines changed: +2 -4

1.24 (2001-10-08)

Add a "header" configuration parameter specifying a header to add to the headers of the mail message sent.

Lines changed: +15 -6

1.23 (2001-04-14)

Add full documentation. Also tweak a few error messages to be more consistent or more informative, remove the Stanford-specific munging of the working directory (since we don't use -w any more either), and move the check for a valid $REPOSITORY until after the processing of -h and -v so that one can run ./cvslog -h.

Lines changed: +468 -31

1.22 (2001-04-14)

Bug fix in the addition of mailhost to the configuration parsing routine. Also add a new configuration parameter "diffstat", which sets the full path to the diffstat binary for generating summaries.

Lines changed: +17 -11

1.21 (2001-04-14)

Remove debugging output again, add a mailhost configuration parameter that is used to qualify e-mail addresses (for address configuration parameters and -a command line options) that don't have a host part, and add more comments about the necessity of %{sVv} for summaries to work properly.

Lines changed: +17 -9

1.20 (2001-04-14)

Add some debugging information to track down why summaries aren't working.

Lines changed: +2 -1

1.19 (2001-04-08)

Add support for cvslog.conf and get the subject prefix and default notification address from there. Handle the case where an address is given on the command line and there is no default. Add some additional comments about possibly having to set $REPOSITORY if the operating system doesn't provide a full $0.

Lines changed: +52 -18

1.18 (2001-04-08)

Add support for different messages in each part of a multi-directory commit. Previously, we would throw away all commit messages except the last; now, they are properly combined into a single message. Break out the functions to read multi-directory commit data into more modular pieces.

Lines changed: +116 -49

1.17 (2001-04-02)

The last change mistakenly sent all commit messages to me personally.

Lines changed: +2 -2

1.16 (2001-04-01)

Use Getopt::Long to parse options. Turn off multi-directory commit merging by default and add an option to turn it back on. Add an option to turn on reporting of the working directory from which the files are being committed. Added -h and -v options (although as of yet there's no help). Also be safer about what temporary directories we're willing to use for multi-directory commits.

Lines changed: +41 -24

1.15 (2001-04-01)

Added initial support for combining multidirectory commits. At this point, all commit messages except the last one are discarded (which is fine only if they're all the same). Also fixed a few bugs in directory creation and import handling.

Lines changed: +140 -18

1.14 (2001-03-31)

Extensively reorganized and rewritten to be more modular and to fully parse the data into a hash before starting to generate any of the commit notification. Drop the path to the local working directory since it's generally irrelevant and sometimes private. Add support for appending a diffstat summary of the changes if -s is given on the command line.

Lines changed: +297 -119

1.13 (2000-02-08)

Clean up some needless conditionals, try again to get rid of the extra blank line on directory creations and imports.

Lines changed: +3 -3

1.12 (2000-02-07)

Avoid adding an extra blank line on directory adds and imports.

Lines changed: +5 -4

1.11 (1999-11-10)

Handle imported sources (build a special subject header).

Lines changed: +6 -4

1.10 (1999-10-03)

Smash repeated spaces in the date string. We don't need it to always be exactly the same number of characters; it's intended to be human-readable.

Lines changed: +2 -1

1.9 (1999-10-03)

Add special handling for new directories.

Lines changed: +16 -9

1.8 (1999-10-03)

Tag header was being put in the wrong place.

Lines changed: +3 -5

1.7 (1999-10-02)

Add trimming of long paths.

Lines changed: +11 -1

1.6 (1999-09-28)

The code to check for a module in the path name wasn't anchored at full directory names.

Lines changed: +2 -2

1.5 (1999-09-28)

Substantially revised to incorporate the changes made for INN and to better present the list of files being changed. Now recognizes tags, lists the files changed on the Subject line if there's enough room, checks the repository path for modules and rewrites it to use the module name if a relevant module is found, and better presents the list of files that were changed. Removed the separator line before the log message, since everything above it now looks more like headers and it's easy to see where the log begins.

Lines changed: +123 -34

1.4 (1998-09-03)

Strip .stanford.edu from machine hostnames insensitively.

Lines changed: +2 -2

1.3 (1998-09-03)

Have cvslog use /usr/pubsw/bin/perl instead of /usr/bin/perl.

Lines changed: +2 -2

1.2 (1998-08-08)

Updated cvslog to send everything to leland.cvs-commits@news by default and take an additional address on the command line (with -a), so that it can send to two addresses with only one invocation. Updated loginfo to reflect the new syntax and only invoke cvslog once even for those commits that need to go to two addresses.

Lines changed: +17 -4

1.1 (1998-08-06)

Added commands to loginfo to run cvslog for every commit, sending them all to leland.cvs-commits@news and sending ^leland/dbmodel commits to ls-dbmodel@lists. Added the cvslog script to this directory and added it to checkoutlist.

Generated by cvs2xhtml 1.13 on 2013-09-22