From: Jakob Pfender Date: Mon, 14 Mar 2011 15:11:54 GMT Subject: [PATCH] revision.c: Clarify error message for missing objects Message-ID: <4D7E303A.5090605@elegosoft.com> In-Reply-To: <7vzkp1y0jr.fsf@alter.siamese.dyndns.org> [Sorry Junio, accidentally sent this to just you the first time around] If "git show" is invoked on a hash for a file that doesn't exist, the produced error message was "fatal: bad object ". This is misleading as the object isn't bad, but missing. As a matter of fact, if an object is bad, this error message is never produced, because parse_object() terminates with its own error message if the object is corrupt. This patch introduces a check to see whether an object exists (with the appropriate error message if it doesn't) and removes the unnecessary and misleading original error message if parse_object() fails. Signed-off-by: Jakob Pfender --- revision.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/revision.c b/revision.c index 86d2470..085aac2 100644 --- a/revision.c +++ b/revision.c @@ -173,9 +173,9 @@ static struct object *get_reference(struct rev_info *revs, const char *name, con { struct object *object; + if (sha1_object_info(sha1, NULL) < 0) + die("Not a valid object name %s", name); object = parse_object(sha1); - if (!object) - die("bad object %s", name); object->flags |= flags; return object; } -- 1.7.0.4