Merge "InternalPushConnection: don't swallow RuntimeException"

This commit is contained in:
Dave Borowitz 2018-10-25 10:35:43 -04:00 committed by Gerrit Code Review @ Eclipse.org
commit 0e5cc09afe
1 changed files with 8 additions and 4 deletions

View File

@ -46,6 +46,7 @@
import java.io.IOException; import java.io.IOException;
import java.io.PipedInputStream; import java.io.PipedInputStream;
import java.io.PipedOutputStream; import java.io.PipedOutputStream;
import java.io.UncheckedIOException;
import org.eclipse.jgit.errors.TransportException; import org.eclipse.jgit.errors.TransportException;
import org.eclipse.jgit.internal.JGitText; import org.eclipse.jgit.internal.JGitText;
@ -103,10 +104,13 @@ public void run() {
// Ignored. Client cannot use this repository. // Ignored. Client cannot use this repository.
} catch (ServiceNotAuthorizedException e) { } catch (ServiceNotAuthorizedException e) {
// Ignored. Client cannot use this repository. // Ignored. Client cannot use this repository.
} catch (IOException err) { } catch (IOException e) {
// Client side of the pipes should report the problem. // Since the InternalPushConnection
} catch (RuntimeException err) { // is used in tests, we want to avoid hiding exceptions
// Clients side will notice we went away, and report. // because they can point to programming errors on the server
// side. By rethrowing, the default handler will dump it
// to stderr.
throw new UncheckedIOException(e);
} finally { } finally {
try { try {
out_r.close(); out_r.close();