I’ve tried to mirror a svn repository and svk (yes svk and not svn!) told me that the source url is not under source root whatever this means.
An escaped space character caused svk fail the check:
if substr( $source_path, 0, length( $source_root ), '') ne $source_root;
in line 162 in SVNRa.pm.
I fixed this problem while adding a line which replaces %20 by a space character because an URL with the file protocol must not be escaped. These resources are accessed directly from the disk and not from a webserver.
$source_path =~ s/ /%20/g if $source_path =~ m,^file://,; # XXX: this shouldn't happen. kill this substr die "source url not under source root" if substr( $source_path, 0, length( $source_root ), '') ne $source_root;