[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