Clarify fetch error for missing objects.

Otherwise there're such things like:

    Cannot obtain needed none 9a6e87b60dbd2305c95cecce7d9d60f849a0658d
    while processing commit 0000000000000000000000000000000000000000.

which while looks weird. What is the none needed for?

Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
Alex Riesen 2006-12-12 18:34:02 +01:00 committed by Junio C Hamano
parent 59f8674006
commit 0d7a6e4ef9

15
fetch.c
View File

@ -22,14 +22,15 @@ void pull_say(const char *fmt, const char *hex)
fprintf(stderr, fmt, hex); fprintf(stderr, fmt, hex);
} }
static void report_missing(const char *what, const unsigned char *missing) static void report_missing(const struct object *obj)
{ {
char missing_hex[41]; char missing_hex[41];
strcpy(missing_hex, sha1_to_hex(obj->sha1));;
strcpy(missing_hex, sha1_to_hex(missing));; fprintf(stderr, "Cannot obtain needed %s %s\n",
fprintf(stderr, obj->type ? typename(obj->type): "object", missing_hex);
"Cannot obtain needed %s %s\nwhile processing commit %s.\n", if (!is_null_sha1(current_commit_sha1))
what, missing_hex, sha1_to_hex(current_commit_sha1)); fprintf(stderr, "while processing commit %s.\n",
sha1_to_hex(current_commit_sha1));
} }
static int process(struct object *obj); static int process(struct object *obj);
@ -177,7 +178,7 @@ static int loop(void)
*/ */
if (! (obj->flags & TO_SCAN)) { if (! (obj->flags & TO_SCAN)) {
if (fetch(obj->sha1)) { if (fetch(obj->sha1)) {
report_missing(typename(obj->type), obj->sha1); report_missing(obj);
return -1; return -1;
} }
} }