[PATCH] revision.c: Clarify error message for missing objects
- From
- Jakob Pfender <jpfender@elegosoft.com>
- Date
- Mar 14, 2011, 15:11 UTC
- 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 <hash>". 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 <jpfender@elegosoft.com> --- 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