SVN-Mirror

 view release on metacpan or  search on metacpan

CHANGES  view on Meta::CPAN

  This fixes kde svn repository problem.

* Fix two minor pool usage that causes error on nfs-mounted fsfs (and
  possibly win32).

[Changes for 0.60 - Apr 29, 2005]

* When doing get_latest_rev with 1.1.x, reset offset if it went below 0.
  [Marcus Rueckert <darix@irssi.org>]

* Fix uuid checking in --relocate. [Marcus Rueckert <darix@irssi.org>]

[Changes for 0.59 - Apr 25, 2005]

* Doc fixes. [Mathias Hennersdorf <henner@tty.ch>]

* Fix a bad path translation in has_local.

[Changes for 0.58 - Apr 18, 2005]

* Fix edge case in local copy_source resolution and unresolvable source.

CHANGES  view on Meta::CPAN


* Win32API::GUID support on win32. [Autrijus]

* Florian Weimer reported that repeated sync of an empty mirror
  source will result in redundant local revisions.  Fix it by
  always "touching" the add_directory() call, regardless of
  whether anything was actually updated locally. [Autrijus]

[Changes for 0.48 - Oct 4, 2004]

* New: relocate. [Autrijus]

* Use fsfs as SVNFSTYPE when using svn 1.1.

* Fix delete and upgrade on win32. [Autrijus]

* Support arch vcp source driver.

* Fix find_local_rev cache that assumes uses the same cache for
  different target repositories.

lib/SVN/Mirror.pm  view on Meta::CPAN

    my $rev = $self->commit_txn($txn);
    print "Committed revision $rev.\n";

    $self->{fs}->change_rev_prop ($rev, "svn:author", 'svm');
    $self->{fs}->change_rev_prop
        ($rev, "svn:log", "SVM: initializing mirror for $self->{target_path}");

    return $rev;
}

sub relocate {
    my $self = shift;
    my $pool = SVN::Pool->new_default ($self->{pool});
    my $headrev = $self->{headrev} = $self->{fs}->youngest_rev;
    $self->{root} = $self->{fs}->revision_root ($headrev);

    $self->is_initialized
        or die "Cannot relocate uninitialized path $self->{target_path}";

    $self->pre_init (0);
    $self->load_state ();

    my $ra = $self->_new_ra (url => $self->{source});
    my $ra_uuid = $ra->get_uuid;
    die "Local and remote UUID differ." unless ($ra_uuid eq $self->{source_uuid} or $ra_uuid eq $self->{rsource_uuid});

    # Get latest revprops
    my $old_prevs = $self->{fs}->revision_proplist(

lib/SVN/Mirror/Ra.pm  view on Meta::CPAN

}

sub run {
    my $self = shift;
    my $ra = $self->_new_ra;
    my $latestrev = $self->get_latest_rev ($ra);

    $self->lock ('sync');
    $self->load_fromrev;
    # there were code here to use find_local_rev, but it will get base that
    # is too old for use, if there are relocate happening.
    # but this might cause race condition, while we also have lock now, need
    # to take a closer look.
    $self->{headrev} = $self->{fs}->youngest_rev;
    if ($self->{skip_to} && $self->{skip_to} =~ m/^HEAD(?:-(\d+))?/) {
	$self->{skip_to} = $latestrev - ($1 || 0);
    }
    my $startrev = ($self->{skip_to} || 0);
    $startrev = $self->{fromrev}+1 if $self->{fromrev}+1 > $startrev;
    my $endrev = shift || -1;
    if ($endrev && $endrev =~ m/^HEAD(?:-(\d+))?/) {

t/test_repo.dump  view on Meta::CPAN


K 12
svn:keywords
V 2
Id
PROPS-END
use SVN::Core;

package SVN::Client;
use SVN::Base(qw(Client svn_client_ checkout update switch add mkdir delete
                 commit status log blame diff merge cleanup relocate
                 revert resolved copy move revprop_set propset
                 proplist revvprop_list export ls cat import)); 

=head1 NAME

SVN::Client - Subversion client functions

=head1 SYNOPSIS

    use SVN::Client;

t/test_repo.dump  view on Meta::CPAN


Outputs the content of the file identified by path_or_url and revision to the
FILEHANDLE.  FILEHANLDE is a reference to a filehandle.  revision should be a
number or 'HEAD'.  pool is an optional parameter.

=cut

# import methods into our name space and wrap them in a closure
# to support method calling style $ctx->log()
foreach my $function (qw(checkout update switch add mkdir delete commit
                       status log blame diff merge cleanup relocate
                       revert resolved copy move revprop_set propset
                       proplist revvprop_list export ls cat import))
{

    my $real_function = \&{"SVN::_Client::svn_client_$function"};
    *{"SVN::Client::$function"} = sub
    {
        # Allows import to work while not breaking use SVN::Client.
        if ($function eq 'import')
        {



( run in 1.426 second using v1.01-cache-2.11-cpan-71847e10f99 )