]> source.dussan.org Git - jgit.git/commitdiff
Don't doubly wrap TransportException in smart HTTP client 99/299/1
authorShawn O. Pearce <spearce@spearce.org>
Thu, 11 Feb 2010 19:39:09 +0000 (11:39 -0800)
committerShawn O. Pearce <spearce@spearce.org>
Thu, 11 Feb 2010 19:44:37 +0000 (11:44 -0800)
If the readAdvertisedRefs() method throws an exception, its already
closed the connection and wrapped the underlying cause inside of a
suitable TransportException object that it is throwing.  We shouldn't
catch IOException and rethrow a wrapped copy here, because we'll double
wrap the exception thrown by readAdvertisedRefs.  This may obsecure the
root cause of the connection failure from the end-user.

Change-Id: I0ca61560f9888c666323dac8a5582aab25e897ff
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
org.eclipse.jgit/src/org/eclipse/jgit/transport/TransportHttp.java

index c53bcf2601290d2cc610c04d569ad1b1a64b576b..8de16c13d03f6b6eb68fe59e5c0d74d804b6e4fc 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2009-2010, Google Inc.
+ * Copyright (C) 2008-2010, Google Inc.
  * Copyright (C) 2008, Shawn O. Pearce <spearce@spearce.org>
  * and other copyright owners as documented in the project's IP log.
  *
@@ -572,12 +572,7 @@ public class TransportHttp extends HttpTransport implements WalkTransport,
 
                        init(advertisement, DisabledOutputStream.INSTANCE);
                        outNeedsEnd = false;
-                       try {
-                               readAdvertisedRefs();
-                       } catch (IOException err) {
-                               close();
-                               throw new TransportException(uri, "remote hung up", err);
-                       }
+                       readAdvertisedRefs();
                }
 
                @Override
@@ -598,12 +593,7 @@ public class TransportHttp extends HttpTransport implements WalkTransport,
 
                        init(advertisement, DisabledOutputStream.INSTANCE);
                        outNeedsEnd = false;
-                       try {
-                               readAdvertisedRefs();
-                       } catch (IOException err) {
-                               close();
-                               throw new TransportException(uri, "remote hung up", err);
-                       }
+                       readAdvertisedRefs();
                }
 
                protected void doPush(final ProgressMonitor monitor,