[svk-users] SVK mirror sync problem - quoted spaces in url

Fabian Walk f.walk at maul-theet.de
Wed Apr 16 03:51:22 EDT 2008


Hi,

I patched the SVNRa.pm and the complete synchronization with

$ svk mi http://svn.maul-theet.de/Bruel%20and%20Kjaer/ //mirror/BK
or
$ svk mi "http://svn.maul-theet.de/Bruel and Kjaer/" //mirror/BK

$ svk sync  //mirror/BK

works fine great work than you.

Only  when I try to sync a specific revision with the -s option than the 
  error occurred again.

$ svk sync -s HEAD //mirror/BK
svk is now taking a snapshot of the repository at:
   http://svn.maul-theet.de/Bruel and Kjaer

This is essentially making a checkout of the url, and is bad if the
url contains directories like trunk and branches.  If this isn't what
you mean, please hit ^C.

Bad URL passed to RA layer: Malformed URL for repository

If it possible to solve that problem than I'm happy and can start to 
work productively with svk.

Thanks,
Fabian

Cheng-Lung Sung schrieb:
> Hi, 
>     Please also apply this patch and try again :)
> 
> === lib/SVK/Mirror/Backend/SVNRa.pm
> ==================================================================
> --- lib/SVK/Mirror/Backend/SVNRa.pm     (revision 2736)
> +++ lib/SVK/Mirror/Backend/SVNRa.pm     (local)
> @@ -324,6 +324,7 @@
>      if ( $self->_cached_ra ) {
>          my $ra = delete $self->{_cached_ra};
>          my $url = $args{url} || $self->mirror->url;
> +        $url =~ s/([^0-9A-Za-z%\-\/:_.!~*'()])/sprintf("%%%02X", ord($1))/eg;
>          return $ra if $ra->{url} eq $url;
>          if ( _p_svn_ra_session_t->can('reparent') ) {
>              $ra->reparent($url);
> @@ -332,8 +333,10 @@
>          }
>      }
>      $self->_initialize_svn;
> +    my $escaped_url = $self->mirror->url;
> +    $escaped_url =~ s/([^0-9A-Za-z%\-\/:_.!~*'()])/sprintf("%%%02X", ord($1))/eg;
>      return SVN::Ra->new(
> -        url    => $self->mirror->url,
> +        url    => $escaped_url,
>          auth   => $self->_auth_baton,
>          config => $self->_config,
>          %args
> ==================================================================


More information about the svk-users mailing list