@matheusbsbs / matheus-bagliano / commits / a38837341c
Fork 0

Improve on the 'invalid object' error message at commit time

Not that anybody should ever get it, but somebody did (probably because of a flaky filesystem, but whatever). And each time I see an error message that I haven't seen before, I decide that next time it will look better. So this makes us write more relevant information about exactly which file ended up having issues with a missing object. Which will tell whether it was a tree object, for example, or just a regular file in the index (and which one). Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Linus Torvalds committed Jul 14, 2009 at 11:25 UTC a38837341c995773f2adc29ff5971196187b07fb
1 file changed +2 -1
cache-tree.c
+2 -1
@@ -329,7 +329,8 @@ static int update_one(struct cache_tree *it,
329 entlen = pathlen - baselen;
330 }
331 if (mode != S_IFGITLINK && !missing_ok && !has_sha1_file(sha1))
332 - return error("invalid object %s", sha1_to_hex(sha1));
332 + return error("invalid object %06o %s for '%.*s'",
333 + mode, sha1_to_hex(sha1), entlen+baselen, path);
334
335 if (ce->ce_flags & CE_REMOVE)
336 continue; /* entry being removed */