diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2009-07-14 11:25:17 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2009-07-14 13:50:33 -0700 |
commit | a38837341c995773f2adc29ff5971196187b07fb (patch) | |
tree | 934f2190c3ad1b64f6b609a0625e85acb6b0df53 | |
parent | f222abdeec7838891e79abd152c6cb67e532b68d (diff) | |
download | git-a38837341c995773f2adc29ff5971196187b07fb.tar.gz |
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>
-rw-r--r-- | cache-tree.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/cache-tree.c b/cache-tree.c index 16a65dfac1..d91743775d 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 */ |