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 majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html