SVN::Log - Extract change logs from a Subversion server.
use SVN::Log; my $revs = SVN::Log::retrieve ("svn://host/repos", 1); print Dumper ($revs);
SVN::Log retrieves and parses the commit logs from Subversion repositories.
If this is true SVN::Log will use the command line svn client instead of the subversion perl bindings when it needs to access the repository.
retrieve ('svn://host/repos', $start_rev, $end_rev);
Retrieve one or more log messages from a repository. If a second revision is not specified, the revision passed will be retrieved, otherwise the range of revisions from $start_rev to $end_rev will be retrieved.
The revisions are returned as a reference to an array of hashes. Each hash contains the following keys:
The number of the revision.
A hashref indicating the paths modified by this revision.
The author of the revision.
The date of this revision.
The commit message from this revision.
Alternatively, you can pass retrieve a hash containing the repository, start and end revisions, and a callback function which will be called for each revision, like this:
retrieve ({ repository => "svn://svn.example.org/repos", start => 1, end => 2, callback => sub { print @_; } });
The callback will be passed a reference to a hash of paths modified, the revision, the author, the date, and the message associated with the revision.
See SVN::Log::Index for the cannonical example of how to do this.
Garrett Rooney, <rooneg@electricjellyfish.net>
Originally extracted from from SVN::Log::Index by Richard Clamp, <richardc@unixbeard.net>
Copyright 2004 Garrett Rooney. All Rights Reserved.
Copyright 2004 Richard Clamp. All Rights Reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
SVN::Log::Index
To install SVN::Log, copy and paste the appropriate command in to your terminal.
cpanm
cpanm SVN::Log
CPAN shell
perl -MCPAN -e shell install SVN::Log
For more information on module installation, please visit the detailed CPAN module installation guide.