Re: [JGIT PATCH] Disambiguate "push not supported" from "repository not found"
Robin Rosenberg <robin.rosenberg@dewire.com> wrote:
Show 14 quoted lines
> fredagen den 29 augusti 2008 16.31.16 skrev Shawn O. Pearce:
> > 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?
No, not at all. This looks fine.
Show 20 quoted lines
> 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.");
> }--
Shawn.