Skip to content

Commit

Permalink
Merge branch 'master' of git://bogomips.org/git-svn
Browse files Browse the repository at this point in the history
* '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
  • Loading branch information
Junio C Hamano committed Mar 16, 2016
2 parents 3f97853 + b557165 commit a0e305c
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 6 deletions.
14 changes: 8 additions & 6 deletions git-svn.perl
Original file line number Diff line number Diff line change
Expand Up @@ -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");
}
Expand All @@ -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 ",
Expand Down
6 changes: 6 additions & 0 deletions t/t9117-git-svn-init-clone.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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

0 comments on commit a0e305c

Please sign in to comment.