Re: [JGIT PATCH] Disambiguate "push not supported" from "repository not found"
fredagen den 29 augusti 2008 16.31.16 skrev Shawn O. Pearce:
Show 11 quoted lines
> Marek Zawirski <marek.zawirski@gmail.com> wrote:
> > Robin Rosenberg wrote:
> >>
> >> Why an extra method for instantiating the exception?
> >
> > Isn't it overrode in subclass - BasePackPushConnection?
>
> Correct. I introduced the method so the subclass can inject its
> own implementation for the catch block. But its required to give
> back a TransportException so the catch block can throw it, as we
> do not want the subclass to be able to continue at this point.
Mind if I squash this into the patch?
-- robin
diff --git a/org.spearce.jgit/src/org/spearce/jgit/transport/BasePackConnection.java b/org.spearce.jgit/src/org/spearce/jgit/transport/BasePackConnection.java
index e35f850..16e4897 100644
--- a/org.spearce.jgit/src/org/spearce/jgit/transport/BasePackConnection.java
+++ b/org.spearce.jgit/src/org/spearce/jgit/transport/BasePackConnection.java
@@ -182,6 +182,15 @@ private void readAdvertisedRefsImpl() throws IOException {
available(avail);
}
+ /**
+ * Create an exception to indicate problems finding a remote repository. The
+ * caller is expected to throw the returned exception.
+ *
+ * Subclasses may override this method to provide better diagnostics.
+ *
+ * @return a TransportException saying a repository cannot be found and
+ * possibly why.
+ */
protected TransportException noRepository() {
return new NoRemoteRepositoryException(uri, "not found.");
}