Thread (8 messages) flat view 8 messages, 6 authors, 2016-06-15
DORMANTno replies

[PATCH] Improve on the 'invalid object' error message at commit time

From: Linus Torvalds <torvalds@linux-foundation.org>
Date: 2016-06-15 22:47:03
Subsystem: the rest · Maintainer: Linus Torvalds

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>
---

Not a big deal. But since somebody actually saw this message, let's just 
make it more informative. 

A lot of the "these can't happen unless you're seriously screwed" messages 
aren't very good, because there is little upside when doing development. 
But let's try to improve on them in case they happen in the future.

Not that this would make debugging much easier, but one thing that I 
started wondering about was whether the problem Florian saw was about one 
of the files he had done "git add" on, or whether it was a tree entry that 
was the result of "find_subtree()".

 cache-tree.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/cache-tree.c b/cache-tree.c
index 16a65df..d917437 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 */
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help