aboutsummaryrefslogtreecommitdiff
path: root/fetch.c
diff options
context:
space:
mode:
authorAlex Riesen <raa.lkml@gmail.com>2006-12-12 18:34:02 +0100
committerJunio C Hamano <junkio@cox.net>2006-12-12 17:04:40 -0800
commit0d7a6e4ef9e2dc458a9a56ab73638d97f4e75d87 (patch)
treeec04810d56bf5a0b7417c548d158d5d4811e80fe /fetch.c
parent59f867400650b39568e4a7f96bd60f3a0072dbda (diff)
downloadgit-0d7a6e4ef9e2dc458a9a56ab73638d97f4e75d87.tar.gz
git-0d7a6e4ef9e2dc458a9a56ab73638d97f4e75d87.tar.xz
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>
Diffstat (limited to 'fetch.c')
-rw-r--r--fetch.c15
1 files changed, 8 insertions, 7 deletions
diff --git a/fetch.c b/fetch.c
index c426c0499..663b4b2f4 100644
--- a/fetch.c
+++ b/fetch.c
@@ -22,14 +22,15 @@ void pull_say(const char *fmt, const char *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];
-
- strcpy(missing_hex, sha1_to_hex(missing));;
- fprintf(stderr,
- "Cannot obtain needed %s %s\nwhile processing commit %s.\n",
- what, missing_hex, sha1_to_hex(current_commit_sha1));
+ strcpy(missing_hex, sha1_to_hex(obj->sha1));;
+ fprintf(stderr, "Cannot obtain needed %s %s\n",
+ obj->type ? typename(obj->type): "object", missing_hex);
+ if (!is_null_sha1(current_commit_sha1))
+ fprintf(stderr, "while processing commit %s.\n",
+ sha1_to_hex(current_commit_sha1));
}
static int process(struct object *obj);
@@ -177,7 +178,7 @@ static int loop(void)
*/
if (! (obj->flags & TO_SCAN)) {
if (fetch(obj->sha1)) {
- report_missing(typename(obj->type), obj->sha1);
+ report_missing(obj);
return -1;
}
}