summaryrefslogtreecommitdiff
path: root/git-svn.perl
diff options
context:
space:
mode:
Diffstat (limited to 'git-svn.perl')
-rwxr-xr-xgit-svn.perl21
1 files changed, 13 insertions, 8 deletions
diff --git a/git-svn.perl b/git-svn.perl
index 36f7240c99..f609e54ce3 100755
--- a/git-svn.perl
+++ b/git-svn.perl
@@ -507,7 +507,10 @@ sub init_subdir {
sub cmd_clone {
my ($url, $path) = @_;
- if (!defined $path &&
+ if (!$url) {
+ die "SVN repository location required ",
+ "as a command-line argument\n";
+ } elsif (!defined $path &&
(defined $_trunk || @_branches || @_tags ||
defined $_stdlayout) &&
$url !~ m#^[a-z\+]+://#) {
@@ -1745,11 +1748,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 +1768,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 ",
@@ -1924,7 +1929,7 @@ sub load_authors {
my $log = $cmd eq 'log';
while (<$authors>) {
chomp;
- next unless /^(.+?|\(no author\))\s*=\s*(.+?)\s*<(.+)>\s*$/;
+ next unless /^(.+?|\(no author\))\s*=\s*(.+?)\s*<(.*)>\s*$/;
my ($user, $name, $email) = ($1, $2, $3);
if ($log) {
$Git::SVN::Log::rusers{"$name <$email>"} = $user;