http-walker: convert struct object_request to use struct object_id
Convert struct object_request to use struct object_id by updating the definition and applying the following semantic patch, plus the standard object_id transforms: @@ struct object_request E1; @@ - E1.sha1 + E1.oid.hash @@ struct object_request *E1; @@ - E1->sha1 + E1->oid.hash Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>maint
parent
aab9583f7b
commit
16f0705df1
|
@ -22,7 +22,7 @@ enum object_request_state {
|
||||||
|
|
||||||
struct object_request {
|
struct object_request {
|
||||||
struct walker *walker;
|
struct walker *walker;
|
||||||
unsigned char sha1[20];
|
struct object_id oid;
|
||||||
struct alt_base *repo;
|
struct alt_base *repo;
|
||||||
enum object_request_state state;
|
enum object_request_state state;
|
||||||
struct http_object_request *req;
|
struct http_object_request *req;
|
||||||
|
@ -56,7 +56,7 @@ static void start_object_request(struct walker *walker,
|
||||||
struct active_request_slot *slot;
|
struct active_request_slot *slot;
|
||||||
struct http_object_request *req;
|
struct http_object_request *req;
|
||||||
|
|
||||||
req = new_http_object_request(obj_req->repo->base, obj_req->sha1);
|
req = new_http_object_request(obj_req->repo->base, obj_req->oid.hash);
|
||||||
if (req == NULL) {
|
if (req == NULL) {
|
||||||
obj_req->state = ABORTED;
|
obj_req->state = ABORTED;
|
||||||
return;
|
return;
|
||||||
|
@ -82,7 +82,7 @@ static void finish_object_request(struct object_request *obj_req)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (obj_req->req->rename == 0)
|
if (obj_req->req->rename == 0)
|
||||||
walker_say(obj_req->walker, "got %s\n", sha1_to_hex(obj_req->sha1));
|
walker_say(obj_req->walker, "got %s\n", oid_to_hex(&obj_req->oid));
|
||||||
}
|
}
|
||||||
|
|
||||||
static void process_object_response(void *callback_data)
|
static void process_object_response(void *callback_data)
|
||||||
|
@ -129,7 +129,7 @@ static int fill_active_slot(struct walker *walker)
|
||||||
list_for_each_safe(pos, tmp, head) {
|
list_for_each_safe(pos, tmp, head) {
|
||||||
obj_req = list_entry(pos, struct object_request, node);
|
obj_req = list_entry(pos, struct object_request, node);
|
||||||
if (obj_req->state == WAITING) {
|
if (obj_req->state == WAITING) {
|
||||||
if (has_sha1_file(obj_req->sha1))
|
if (has_sha1_file(obj_req->oid.hash))
|
||||||
obj_req->state = COMPLETE;
|
obj_req->state = COMPLETE;
|
||||||
else {
|
else {
|
||||||
start_object_request(walker, obj_req);
|
start_object_request(walker, obj_req);
|
||||||
|
@ -148,7 +148,7 @@ static void prefetch(struct walker *walker, unsigned char *sha1)
|
||||||
|
|
||||||
newreq = xmalloc(sizeof(*newreq));
|
newreq = xmalloc(sizeof(*newreq));
|
||||||
newreq->walker = walker;
|
newreq->walker = walker;
|
||||||
hashcpy(newreq->sha1, sha1);
|
hashcpy(newreq->oid.hash, sha1);
|
||||||
newreq->repo = data->alt;
|
newreq->repo = data->alt;
|
||||||
newreq->state = WAITING;
|
newreq->state = WAITING;
|
||||||
newreq->req = NULL;
|
newreq->req = NULL;
|
||||||
|
@ -481,13 +481,13 @@ static int fetch_object(struct walker *walker, unsigned char *sha1)
|
||||||
|
|
||||||
list_for_each(pos, head) {
|
list_for_each(pos, head) {
|
||||||
obj_req = list_entry(pos, struct object_request, node);
|
obj_req = list_entry(pos, struct object_request, node);
|
||||||
if (!hashcmp(obj_req->sha1, sha1))
|
if (!hashcmp(obj_req->oid.hash, sha1))
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (obj_req == NULL)
|
if (obj_req == NULL)
|
||||||
return error("Couldn't find request for %s in the queue", hex);
|
return error("Couldn't find request for %s in the queue", hex);
|
||||||
|
|
||||||
if (has_sha1_file(obj_req->sha1)) {
|
if (has_sha1_file(obj_req->oid.hash)) {
|
||||||
if (obj_req->req != NULL)
|
if (obj_req->req != NULL)
|
||||||
abort_http_object_request(obj_req->req);
|
abort_http_object_request(obj_req->req);
|
||||||
abort_object_request(obj_req);
|
abort_object_request(obj_req);
|
||||||
|
@ -541,7 +541,7 @@ static int fetch_object(struct walker *walker, unsigned char *sha1)
|
||||||
} else if (req->zret != Z_STREAM_END) {
|
} else if (req->zret != Z_STREAM_END) {
|
||||||
walker->corrupt_object_found++;
|
walker->corrupt_object_found++;
|
||||||
ret = error("File %s (%s) corrupt", hex, req->url);
|
ret = error("File %s (%s) corrupt", hex, req->url);
|
||||||
} else if (hashcmp(obj_req->sha1, req->real_sha1)) {
|
} else if (hashcmp(obj_req->oid.hash, req->real_sha1)) {
|
||||||
ret = error("File %s has bad hash", hex);
|
ret = error("File %s has bad hash", hex);
|
||||||
} else if (req->rename < 0) {
|
} else if (req->rename < 0) {
|
||||||
struct strbuf buf = STRBUF_INIT;
|
struct strbuf buf = STRBUF_INIT;
|
||||||
|
|
Loading…
Reference in New Issue