svn: assume URLs from the command-line are URI-encoded
[gitweb.git] / git-svn.perl
index 1da9f0781c24b4f4f6f63c137a0caccec85024d6..5515e3ea549fd16df5f851b8b3ffc1e7cc1e2c22 100755 (executable)
@@ -1222,6 +1222,7 @@ sub complete_url_ls_init {
        }
        command_oneline('config', $k, $gs->{url}) unless $orig_url;
        my $remote_path = "$gs->{path}/$repo_path";
+       $remote_path =~ s{%([0-9A-F]{2})}{chr hex($1)}ieg;
        $remote_path =~ s#/+#/#g;
        $remote_path =~ s#^/##g;
        $remote_path .= "/*" if $remote_path !~ /\*/;
@@ -1892,6 +1893,7 @@ sub init_remote_config {
                command_noisy('config',
                              "svn-remote.$self->{repo_id}.url", $url);
                $self->{path} =~ s{^/}{};
+               $self->{path} =~ s{%([0-9A-F]{2})}{chr hex($1)}ieg;
                command_noisy('config', '--add',
                              "svn-remote.$self->{repo_id}.fetch",
                              "$self->{path}:".$self->refname);