NAME

SVN::Look - A caching wrapper aroung the svnlook command.

VERSION

Version 0.06

SYNOPSIS

use SVN::Look;
my $revlook = SVN::Look->new('/repo/path', -r => 123);
my $author  = $revlook->author();
my $msg     = $revlook->log_msg();
my @added_files   = $revlook->added();
my @updated_files = $revlook->updated();
my @deleted_files = $revlook->deleted();
my @changed_files = $revlook->changed();
my $file_contents = $revlook->cat('/path/to/file/in/repository');

my $trxlook = SVN::Look->new('/repo/path', -t => 123);

DESCRIPTION

The svnlook command is the workhorse of Subversion hook scripts, being used to gather all sorts of information about a repository, its revisions, and its transactions. This script provides a simple object oriented interface to a specific svnlook invocation, to make it easier to hook writers to get and use the information they need. Moreover, all the information gathered buy calling the svnlook command is cached in the object, avoiding repetitious calls.

METHODS

new REPO_PATH, WHAT, NUMBER

The SVN::Look constructor needs three arguments:

REPO_PATH is the path to the repository.
WHAT must be either '-r' or '-t', specifying if the third argument is a revision number or a transaction number, respectivelly.
NUMBER is either a revision or transaction NUMBER, as specified by WHAT.
repo

Returns the repository path that was passed to the constructor.

txn

Returns the transaction number that was passed to the constructor. If none was passed, returns undef.

rev

Returns the revision number that was passed to the constructor. If none was passed, returns undef.

author

Returns the author of the revision/transaction.

log_msg

Returns the log message of the revision/transaction.

date

Returns the date of the revision/transaction.

proplist PATH

Returns a reference to a hash containing the properties associated with PATH.

added

Returns the list of files added in the revision/transaction.

updated

Returns the list of files updated in the revision/transaction.

deleted

Returns the list of files deleted in the revision/transaction.

prop_modified

Returns the list of files that had properties modified in the revision/transaction.

changed

Returns the list of all files added, updated, deleted, and the ones that had properties modified in the revision/transaction.

dirs_changed

Returns the list of directories changed in the revision/transaction.

copied_from

Returns the list of original names of files that were renamed in the revision/transaction.

copied_to

Returns the list of new names of files that were renamed in the revision/transaction. The order of this list is guaranteed to agree with the order generated by the method copied_from.

cat PATH

Returns the contents of the file at PATH.

AUTHOR

Gustavo Chaves, <gustavo+perl at gnustavo.com>

BUGS

Please report any bugs or feature requests to bug-svn-look at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=SVN-Hooks. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

SUPPORT

You can find documentation for this module with the perldoc command.

perldoc SVN::Look

You can also look for information at:

ACKNOWLEDGEMENTS

COPYRIGHT & LICENSE

Copyright 2008 Gustavo Chaves, all rights reserved.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.