On Wed, May 20, 2015 at 02:22:19PM -0400, Jeff King wrote:

> On Wed, May 20, 2015 at 11:02:14AM -0700, Stefan Beller wrote:
> 
> > $ git clone https://github.com/fmitha/SICL
> > cd SICL
> > $ git show 280c12ab49223c64c6f914944287a7d049cf4dd0
> > fatal: bad object 280c12ab49223c64c6f914944287a7d049cf4dd0
> > $ git show 12323213123 # just to be sure to have a different error
> > message for non existing objects.
> > fatal: ambiguous argument '12323213123': unknown revision or path not
> > in the working tree.
> 
> Yeah, this is well-known. If you give a partial hash, the error comes
> from get_sha1(), which says "hey, this doesn't look like anything I know
> about". If you feed a whole hash, we skip all that and say "well, you
> _definitely_ meant this sha1", and then later code complains when it
> cannot be read.
> 
> We could add a has_sha1_file() check in get_sha1 for this case. I can't
> think offhand of any reason it would need to be called with a
> non-existent object, but there may be some lurking corner case (e.g.,
> "cat-file -e" or something).

I should have looked before replying. It would indeed break "cat-file
-e" horribly. So the right answer may be to just improve the "bad
object" message (probably by checking has_sha1_file there and diagnosing
it either as missing or corrupted).

-Peff
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to