Alien-SVN
view release on metacpan or search on metacpan
src/subversion/subversion/bindings/swig/perl/native/Client.pm view on Meta::CPAN
$SVN::Wc::Notify::Action::commit_added,
$SVN::Wc::Notify::Action::commit_deleted,
$SVN::Wc::Notify::Action::commit_replaced,
$SVN::Wc::Notify::Action::commit_postfix_txdelta.
Use $nonrecursive to indicate that subdirectories of directory targets
should be ignored.
Returns a svn_client_commit_info_t object. If the revision member of the
commit information object is $SVN::Core::INVALID_REVNUM and no error was
raised, then the commit was a no-op; nothing needed to be committed.
=item $client-E<gt>copy($src_target, $src_revision, $dst_target, $pool);
Copies $src_target to $dst_target.
$src_target must be a file or directory under version control, or the URL
of a versioned item in the repository. If $src_target is a URL,
$src_revision is used to choose the revision from which to copy the
$src_target. $dst_path must be a file or directory under version control,
or a repository URL, existing or not.
If $dst_target is a URL, immediately attempt to commit the copy action
to the repository. The log_msg callback will be called to query for a commit
log message. If the commit succeeds, return a svn_client_commit_info_t
object.
If $dst_target is not a URL, then this is just a variant of $client-E<gt>add(),
where the $dst_path items are scheduled for addition as copies. No changes
will happen to the repository until a commit occurs. This scheduling can be
removed with $client-E<gt>revert(). undef will be returned in this case.
Calls the notify callback for each item added at the new location, passing
the new, relative path of the added item.
=item $client-E<gt>delete($targets, $force, $pool);
Delete items from a repository or working copy.
If the paths in $targets are URLs, immediately attempt to commit a deletion
of the URLs from the repository. The log_msg callback will be called to
query for a commit log message. If the commit succeeds, return a
svn_client_commit_info_t object. Every path must belong to the same
repository.
Else, schedule the working copy paths in $targets for removal from the
repository. Each path's parent must be under revision control. This is
just a B<scheduling> operation. No changes will happen to the repository
until a commit occurs. This scheduling can be removed with $client-E<gt>revert().
If a path is a file it is immediately removed from the working copy. If
the path is a directory it will remain in the working copy but all the files,
and all unversioned items it contains will be removed. If $force is not set
then this operation will fail if any path contains locally modified and/or
unversioned items. If $force is set such items will be deleted.
The notify callback is called for each item deleted with the path of
the deleted item.
Has no return.
=item $client-E<gt>diff($diff_options, $target1, $revision1, $target2, $revision2, $recursive, $ignore_ancestry, $no_diff_deleted, $outfile, $errfile, $pool);
Produces diff output which describes the delta between $target1 at
$revision1 and $target2 at $revision2. They both must represent the same
node type (i.e. they most both be directories or files). The revisions
must not be undef.
Prints the output of the diff to the filename or filehandle passed as
$outfile, and any errors to the filename or filehandle passed as $errfile.
Use $ignore_ancestry to control whether or not items being diffed will be
checked for relatedness first. Unrelated items are typically transmitted to
the editor as a deletion of one thing and the addition of another, but if this
flag is true, unrelated items will be diffed as if they were related.
If $no_diff_deleted is true, then no diff output will be generated on deleted
files.
$diff_options is a reference to an array of additional arguments to pass to
diff process invoked to compare files. You'll usually just want to use [] to
pass an empty array to return a unified context diff (like `diff -u`).
Has no return.
=item $client-E<gt>diff_summarize($target1, $revision1, $target2, $revision2, $recursive, $ignore_ancestry, \&summarize_func, $pool);
Produce a diff summary which lists the changed items between $target1
at $revision1 and $target2 at $revision2 without creating text deltas.
$target1 and $target2 can be either working-copy paths or URLs.
The function may report false positives if $ignore_ancestry is false,
since a file might have been modified between two revisions, but still
have the same contents.
Calls \&summarize_func with with a svn_client_diff_summarize_t structure
describing the difference.
See diff() for a description of the other parameters.
Has no return.
=item $client-E<gt>export($from, $to, $revision, $force, $pool);
Export the contents of either a subversion repository or a subversion
working copy into a 'clean' directory (meaning a directory with no
administrative directories).
$from is either the path to the working copy on disk, or a URL
to the repository you wish to export.
$to is the path to the directory where you wish to create the exported
tree.
$revision is the revision that should be exported, which is only used
when exporting from a repository. It may be undef otherwise.
The notify callback will be called for the items exported.
Returns the value of the revision actually exported or
$SVN::Core::INVALID_REVNUM for local exports.
=item $client-E<gt>import($path, $url, $nonrecursive, $pool);
Import file or directory $path into repository directory $url at head.
If some components of $url do not exist then create parent directories
as necessary.
If $path is a directory, the contents of that directory are imported
( run in 0.435 second using v1.01-cache-2.11-cpan-5b529ec07f3 )