Alien-SVN
view release on metacpan or search on metacpan
src/subversion/subversion/bindings/swig/perl/native/Client.pm view on Meta::CPAN
provide the revision number. You may also use the strings (aka revision
keywords) 'HEAD', 'BASE', 'COMMITTED', and 'PREV' which have the same
meanings as in the command line client. When referencing a working copy
you can use the string 'WORKING" to reference the BASE plus any local
modifications. C<undef> may be used to specify an unspecified revision.
You may also pass a date by specifying the date inside curly braces
'{}'. The date formats accepted are the same as the command line client
accepts. Finally a C<_p_svn_opt_revision_t> object is accepted
(which may have been returned by some Subversion function).
=item $recursive $nonrecursive.
A boolean parameter that specifies if the action should follow directories. It
should only be 1 or 0. $recursive means, 1 means to descend into directories,
0 means not to. $nonrecursive has the inverse meaning.
=item $pool
Pool is always an option parameter. If you wish to pass a pool parameter it
should be a SVN::Pool or an apr_pool_t object.
=back
=head1 METHODS
The following methods are available:
=over 4
=item $client = SVN::Client-E<gt>new( %options );
This class method constructs a new C<SVN::Client> object and returns
a reference to it.
Key/value pair arguments may be provided to set up the initial state
of the user agent. The following methods correspond to attribute
methods described below:
KEY DEFAULT
---------- ----------------------------------------
auth auth_baton initiated with providers that
read cached authentication options from
the subversion config only.
cancel undef
config Hash containing the config from the
default subversion config file location.
log_msg undef
notify undef
pool A new pool is created for the context.
=cut
sub new
{
my $class = shift;
my $self = bless {}, $class;
my %args = @_;
$self->{'ctx'} = SVN::_Client::svn_client_create_context();
if (defined($args{'auth'}))
{
$self->auth($args{'auth'});
} else {
$self->auth([SVN::Client::get_username_provider(),
SVN::Client::get_simple_provider(),
SVN::Client::get_ssl_server_trust_file_provider(),
SVN::Client::get_ssl_client_cert_file_provider(),
SVN::Client::get_ssl_client_cert_pw_file_provider(),
]);
}
{
my $pool_type = ref($args{'pool'});
if ($pool_type eq 'SVN::Pool' ||
$pool_type eq '_p_apr_pool_t')
{
$self->{'pool'} = $args{'pool'};
} else {
$self->{'pool'} = new SVN::Pool();
}
}
# If we're passed a config use it, otherwise get the default
# config.
if (defined($args{'config'}))
{
if (ref($args{'config'}) eq 'HASH')
{
$self->config($args{'config'});
}
} else {
$self->config(SVN::Core::config_get_config(undef));
}
if (defined($args{'notify'}))
{
$self->notify($args{'notify'});
}
if (defined($args{'log_msg'}))
{
$self->log_msg($args{'log_msg'});
}
if (defined($args{'cancel'}))
{
$self->cancel($args{'cancel'});
}
return $self;
}
=item $client-E<gt>add($path, $recursive, $pool);
Similar to $client-E<gt>add2(), but with $force always set to FALSE.
( run in 1.918 second using v1.01-cache-2.11-cpan-39bf76dae61 )