git-svn: error out when the SVN connection fails during a fetch
authorEric Wong <normalperson@yhbt.net>
Tue, 28 Nov 2006 22:06:05 +0000 (14:06 -0800)
committerJunio C Hamano <junkio@cox.net>
Tue, 28 Nov 2006 22:13:43 +0000 (14:13 -0800)
finish_report does seem to return a useful value indicating success
or failure, so we'll just set a flag when close_edit is called
(it is not called on failures, nor is abort_edit) and check
the flag before proceeding.

Thanks to Pazu for pointing this out.

Signed-off-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>
git-svn.perl
index 9b86d91266909fe70064f73faef3ac73f23e3993..cefa7b021d0367c1c421cffabf33af3a6f924ccd 100755 (executable)
@@ -2939,6 +2939,9 @@ sub libsvn_fetch_delta {
        $reporter->set_path('', $last_rev, 0, @lock, $pool);
        $reporter->finish_report($pool);
        $pool->clear;
+       unless ($ed->{git_commit_ok}) {
+               die "SVN connection failed somewhere...\n";
+       }
        libsvn_log_entry($rev, $author, $date, $msg, [$last_commit]);
 }
 
@@ -3193,6 +3196,9 @@ sub libsvn_new_tree {
                $reporter->set_path('', $rev, 1, @lock, $pool);
                $reporter->finish_report($pool);
                $pool->clear;
+               unless ($ed->{git_commit_ok}) {
+                       die "SVN connection failed somewhere...\n";
+               }
        } else {
                open my $gui, '| git-update-index -z --index-info' or croak $!;
                libsvn_traverse($gui, '', $SVN->{svn_path}, $rev);
@@ -3506,7 +3512,8 @@ sub abort_edit {
 
 sub close_edit {
        my $self = shift;
-       close $self->{gui} or croak;
+       close $self->{gui} or croak $!;
+       $self->{git_commit_ok} = 1;
        $self->SUPER::close_edit(@_);
 }