Merge branch 'master' of git://bogomips.org/git-svn
* 'master' of git://bogomips.org/git-svn: git-svn: fix URL canonicalization during init w/ SVN 1.7+ t9117: test specifying full url to git svn init -T
This commit is contained in:
commit
a0e305c236
14
git-svn.perl
14
git-svn.perl
@ -1745,11 +1745,12 @@ sub post_fetch_checkout {
|
||||
|
||||
sub complete_svn_url {
|
||||
my ($url, $path) = @_;
|
||||
$path = canonicalize_path($path);
|
||||
|
||||
# If the path is not a URL...
|
||||
if ($path !~ m#^[a-z\+]+://#) {
|
||||
if (!defined $url || $url !~ m#^[a-z\+]+://#) {
|
||||
if ($path =~ m#^[a-z\+]+://#i) { # path is a URL
|
||||
$path = canonicalize_url($path);
|
||||
} else {
|
||||
$path = canonicalize_path($path);
|
||||
if (!defined $url || $url !~ m#^[a-z\+]+://#i) {
|
||||
fatal("E: '$path' is not a complete URL ",
|
||||
"and a separate URL is not specified");
|
||||
}
|
||||
@ -1764,11 +1765,12 @@ sub complete_url_ls_init {
|
||||
print STDERR "W: $switch not specified\n";
|
||||
return;
|
||||
}
|
||||
$repo_path = canonicalize_path($repo_path);
|
||||
if ($repo_path =~ m#^[a-z\+]+://#) {
|
||||
if ($repo_path =~ m#^[a-z\+]+://#i) {
|
||||
$repo_path = canonicalize_url($repo_path);
|
||||
$ra = Git::SVN::Ra->new($repo_path);
|
||||
$repo_path = '';
|
||||
} else {
|
||||
$repo_path = canonicalize_path($repo_path);
|
||||
$repo_path =~ s#^/+##;
|
||||
unless ($ra) {
|
||||
fatal("E: '$repo_path' is not a complete URL ",
|
||||
|
@ -119,4 +119,10 @@ test_expect_success 'clone with -s/-T/-b/-t and --prefix "" still works' '
|
||||
rm -f warning
|
||||
'
|
||||
|
||||
test_expect_success 'init with -T as a full url works' '
|
||||
test ! -d project &&
|
||||
git svn init -T "$svnrepo"/project/trunk project &&
|
||||
rm -rf project
|
||||
'
|
||||
|
||||
test_done
|
||||
|
Loading…
Reference in New Issue
Block a user