From: Linus Torvalds Date: Tue, 14 Jul 2009 18:25:17 +0000 (-0700) Subject: Improve on the 'invalid object' error message at commit time X-Git-Tag: v1.6.4-rc1~2 X-Git-Url: https://git.tokkee.org/?a=commitdiff_plain;h=a38837341c995773f2adc29ff5971196187b07fb;p=git.git 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 Signed-off-by: Junio C Hamano --- diff --git a/cache-tree.c b/cache-tree.c index 16a65dfac..d91743775 100644 --- a/cache-tree.c +++ b/cache-tree.c @@ -329,7 +329,8 @@ static int update_one(struct cache_tree *it, entlen = pathlen - baselen; } if (mode != S_IFGITLINK && !missing_ok && !has_sha1_file(sha1)) - return error("invalid object %s", sha1_to_hex(sha1)); + return error("invalid object %06o %s for '%.*s'", + mode, sha1_to_hex(sha1), entlen+baselen, path); if (ce->ce_flags & CE_REMOVE) continue; /* entry being removed */