* cmd_clone should detect a missing $url arg before using it otherwise
an uninitialized value error is emitted in even the simplest case of
'git svn clone' without arguments.
Signed-off-by: Christopher Layne <redacted>
---
git-svn.perl | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/git-svn.perl b/git-svn.perl
index 05eced0..f609e54 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\+]+://#) {--
2.7.3
Christopher Layne [off-list ref] wrote:
* cmd_clone should detect a missing $url arg before using it otherwise
an uninitialized value error is emitted in even the simplest case of
'git svn clone' without arguments.
Thanks, this patch looks obviously correct.
I've eliminated the '* ' and space prefix from the version I've
applied since it's not the convention around here.
Signed-off-by: Christopher Layne <redacted>
Signed-off-by: Eric Wong <redacted>
And pushed to "master" of git://bogomips.org/git-svn
(I'll request for Junio to pull within a few days while
other changes pile up).
sub cmd_clone {
my ($url, $path) = @_;
- if (!defined $path &&
+ if (!$url) {
+ die "SVN repository location required ",
+ "as a command-line argument\n";
"as a command-line argument" seems like an unnecessary phrase,
but I see we use it elsewhere; so it's fine here.
I might be tempted to queue up a separate patch
to eliminate this extra statement from the rest of git-svn,
though. Not sure if others feel the same way.
On Jul 2, 2016, at 2315 PT, Eric Wong [off-list ref] wrote:
quoted
sub cmd_clone {
my ($url, $path) = @_;
- if (!defined $path &&
+ if (!$url) {
+ die "SVN repository location required ",
+ "as a command-line argument\n";
"as a command-line argument" seems like an unnecessary phrase,
but I see we use it elsewhere; so it's fine here.
I might be tempted to queue up a separate patch
to eliminate this extra statement from the rest of git-svn,
though. Not sure if others feel the same way.
I basically went with the same logic/error message that cmd_init()
was using a couple of lines down in an attempt to stay consistent:
527 sub cmd_init {
528 if (defined $_stdlayout) {
529 $_trunk = 'trunk' if (!defined $_trunk);
530 @_tags = 'tags' if (! @_tags);
531 @_branches = 'branches' if (! @_branches);
532 }
533 if (defined $_trunk || @_branches || @_tags) {
534 return cmd_multi_init(@_);
535 }
536 my $url = shift or die "SVN repository location required ",
537 "as a command-line argument\n";
538 $url = canonicalize_url($url);
539 init_subdir(@_);
540 do_git_init_db();
541
542 if ($Git::SVN::_minimize_url eq 'unset') {
543 $Git::SVN::_minimize_url = 0;
544 }
545
546 Git::SVN->init($url);
547 }
-cl