提交 50ff2366 编写于 作者: U Ulrich Dangel 提交者: Eric Wong

git-svn: Canonicalize svn urls to prevent libsvn assertion

Cloning/initializing svn repositories with an uncanonicalize url
does not work as libsvn throws an assertion. This patch
canonicalize svn uris for the clone and init command from
git-svn.

[ew: fixed trailing whitespace]
Signed-off-by: NUlrich Dangel <uli@spamt.net>
Acked-by: NEric Wong <normalperson@yhbt.net>
上级 2317d289
......@@ -389,6 +389,7 @@ sub cmd_init {
}
my $url = shift or die "SVN repository location required ",
"as a command-line argument\n";
$url = canonicalize_url($url);
init_subdir(@_);
do_git_init_db();
......@@ -806,6 +807,12 @@ sub canonicalize_path {
return $path;
}
sub canonicalize_url {
my ($url) = @_;
$url =~ s#^([^:]+://[^/]*/)(.*)$#$1 . canonicalize_path($2)#e;
return $url;
}
# get_svnprops(PATH)
# ------------------
# Helper for cmd_propget and cmd_proplist below.
......@@ -875,7 +882,7 @@ sub cmd_multi_init {
$_prefix = '' unless defined $_prefix;
if (defined $url) {
$url =~ s#/+$##;
$url = canonicalize_url($url);
init_subdir(@_);
}
do_git_init_db();
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册