diff options
author | Fabian Keil <fk@fabiankeil.de> | 2011-01-31 20:29:46 +0100 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2011-02-27 02:13:21 -0800 |
commit | e7cad3ccd05461b0defdef86c9d786ab6fb9fe40 (patch) | |
tree | e05fcda753436486013ceee064bc402f8c4b8c19 | |
parent | 62270f6b0a4e67e5044fb0d70d0e82ac6e553eb2 (diff) | |
download | git-e7cad3ccd05461b0defdef86c9d786ab6fb9fe40.tar.gz git-e7cad3ccd05461b0defdef86c9d786ab6fb9fe40.tar.xz |
git-cvsimport.perl: Bail out right away when reading from the server fails
If the CVS server is down, this reduced the git-cvsimport output from:
ssh: connect to host ijbswa.cvs.sourceforge.net port 22: Connection refused
Use of uninitialized value $rep in scalar chomp at /usr/local/libexec/git-core/git-cvsimport line 369.
Use of uninitialized value $rep in substitution (s///) at /usr/local/libexec/git-core/git-cvsimport line 370.
Expected Valid-requests from server, but got: <unknown>
to the less noisy:
ssh: connect to host ijbswa.cvs.sourceforge.net port 22: Connection refused
Failed to read from server at /usr/local/libexec/git-core/git-cvsimport line 370.
In this case a silent exit() instead of the die() would probably do,
but I assume that there could be cases where the connection attempt
succeeds, but reading from the server fails for other reasons.
Signed-off-by: Fabian Keil <fk@fabiankeil.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rwxr-xr-x | git-cvsimport.perl | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/git-cvsimport.perl b/git-cvsimport.perl index 8e683e547..bbf327f3e 100755 --- a/git-cvsimport.perl +++ b/git-cvsimport.perl @@ -366,7 +366,9 @@ sub conn { $self->{'socketo'}->write("valid-requests\n"); $self->{'socketo'}->flush(); - chomp(my $rep=$self->readline()); + my $rep=$self->readline(); + die "Failed to read from server" unless defined $rep; + chomp($rep); if ($rep !~ s/^Valid-requests\s*//) { $rep="<unknown>" unless $rep; die "Expected Valid-requests from server, but got: $rep\n"; |