Assure1::Agent::SVN Perl library
Description
Provides regular svn operations on check out directory. It tries to do this in a simplest form possible.
All operations are currently performed by running svn binary directly. Thus it is probably unportable.
For a much more powerful way of working with svn repository see SVN::Client.
Synopsis
use Assure1::Agent::SVN;
my $branch = 'event/default';
my $svn = Assure1::Agent::SVN->load({
path => $BaseDir . '/var/checkouts/' . $branch,
svn => $BaseDir . '/vendor/svn/bin/svn',
config => $BaseDir . '/etc/svn/'
});
# Find out modified files
print join(', ', @{$svn->modified}) . "\\n";
# Usual svn operations
$svn->add('file.pl');
$svn->commit('Message');
Constructor
load
Constructs SVN::Agent instance. Loads current status of the directory given by path
option.
load(\%options)
Options
path -> Path to working copy directory
svn -> Path to svn executable
config -> Path to svn configuration
Returns
1. Object
Methods
add
Adds a file into repository with optional command arguments. Assumes relative to path. If the file's directory is not under svn control, it is added also.
add($file [, @cmdParams])
added
Returns array of files which are scheduled for addition.
cat
Returns cat of FILE given (svn URL/working copy) and returns raw multi-lined output.
cat($file [, @cmdParams])
changes
Returns array of files which are changes for the next commit. Note that you can also modify this array to change next commit files.
checkout
Checks-out working copy from the REPOSITORY into directory given by path
option.
checkout($repository)
commit
Commits current changes using MESSAGE as a log message. The changes should be listed in the changes array.
commit($message)
copy
Copy from LOCATION1 to LOCATION2 with optional command arguments (e.g. "-r 123").
copy($location1, $location2 [, @cmdParams])
delete
Schedules single FILE for deletion.
delete($file)
deleted
Returns array of files which are scheduled for deletion.
diff
Diffs the file against the repository.
diff($file)
info
Runs info command on path or given working copy WC and returns output.
info($wc)
export
Exports given repository source to path or given destination. Allows optional command arguments (e.g. -r ###)
export($src [, $dest] [, @cmdParams])
list
Returns list of files for the path
or given SRC (URL/working copy) and returns output. Allows optional command arguments (e.g. -R)
list($src [, @cmdParams])
merge
Merge changes to FILE from HEAD to previous REVISION.
merge($file, $revision)
missing
Returns array of files which are missing from the working directory.
modified
Returns array of files which are currently modified.
move
Move OLDFILE to NEWFILE with optional command arguments.
move($oldFile, $newFile [, $message] [, @cmdParams])
prepare_changes
Rolls modified, added and deleted arrays into changes array.
revert
Runs revert command.
status
Runs status command on path or given working copy WC and returns output as array of lines.
status($wc)
svn_import
Imports given SRC to svn DEST. Allows optional command arguments (e.g. -r ###)
svn_import($message, $src, $desc [, @cmdParams])
svn_mkdir
Create svn directory. If DIR is a remote svn url MESSAGE is required.
svn_mkdir($dir [, $message] [, @cmdParams])
unknown
Returns array of files which do not exist in svn repository.
update
Updates current working directory from the latest repository contents.
wcLocked
Checks if an svn transaction in progress within the same process by wcLock()
wcLock
Locks svn for transaction
wcUnlock
Unlocks the svn transaction previously locked by wcLock()