X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=fetch.c;h=8e29d313f817981a29ebb65f2f579c9f1bd8e9b6;hb=68faf68938ee943fc251c702f2027e4dfda354db;hp=c426c049974fa1bf1aceea9d43d2e2c5ce194e06;hpb=6a96b32d3b045c6e8d1b553fd6b64e03db9b0e45;p=git.git diff --git a/fetch.c b/fetch.c index c426c0499..8e29d313f 100644 --- a/fetch.c +++ b/fetch.c @@ -1,6 +1,5 @@ -#include "fetch.h" - #include "cache.h" +#include "fetch.h" #include "commit.h" #include "tree.h" #include "tree-walk.h" @@ -22,14 +21,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); @@ -42,8 +42,7 @@ static int process_tree(struct tree *tree) if (parse_tree(tree)) return -1; - desc.buf = tree->buffer; - desc.size = tree->size; + init_tree_desc(&desc, tree->buffer, tree->size); while (tree_entry(&desc, &entry)) { struct object *obj = NULL; @@ -177,7 +176,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; } }