http: use struct object_id instead of bare sha1
The dumb-http walker code still passes around and stores object ids as "unsigned char *sha1". Let's modernize it. There's probably still more work to be done to handle dumb-http fetches with a new, larger hash. But that can wait; this is enough that we can now convert some of the low-level object routines that we call into from here (and in fact, some of the "oid.hash" references added here will be further improved in the next patch). Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:

committed by
Junio C Hamano

parent
c93206b412
commit
f0be0db13d
@ -58,7 +58,7 @@ static void start_object_request(struct walker *walker,
|
||||
struct active_request_slot *slot;
|
||||
struct http_object_request *req;
|
||||
|
||||
req = new_http_object_request(obj_req->repo->base, obj_req->oid.hash);
|
||||
req = new_http_object_request(obj_req->repo->base, &obj_req->oid);
|
||||
if (req == NULL) {
|
||||
obj_req->state = ABORTED;
|
||||
return;
|
||||
@ -543,11 +543,11 @@ static int fetch_object(struct walker *walker, unsigned char *sha1)
|
||||
} else if (req->zret != Z_STREAM_END) {
|
||||
walker->corrupt_object_found++;
|
||||
ret = error("File %s (%s) corrupt", hex, req->url);
|
||||
} else if (!hasheq(obj_req->oid.hash, req->real_sha1)) {
|
||||
} else if (!oideq(&obj_req->oid, &req->real_oid)) {
|
||||
ret = error("File %s has bad hash", hex);
|
||||
} else if (req->rename < 0) {
|
||||
struct strbuf buf = STRBUF_INIT;
|
||||
loose_object_path(the_repository, &buf, req->sha1);
|
||||
loose_object_path(the_repository, &buf, req->oid.hash);
|
||||
ret = error("unable to write sha1 filename %s", buf.buf);
|
||||
strbuf_release(&buf);
|
||||
}
|
||||
|
Reference in New Issue
Block a user