X-Git-Url: http://git.ipfire.org/?a=blobdiff_plain;f=http-push.c;h=0353f9f5143d7fff3a2b4b11d02375255258319b;hb=b6570477193b8cf75ce625b8d540e28f71ece3fe;hp=f675a9631662ef5f6841b376e352b7b159e52e14;hpb=521d3ef38a17917ad10e71a398e82a13fa1178b5;p=thirdparty%2Fgit.git diff --git a/http-push.c b/http-push.c index f675a96316..0353f9f514 100644 --- a/http-push.c +++ b/http-push.c @@ -526,8 +526,8 @@ static void finish_request(struct transfer_request *request) if (request->headers != NULL) curl_slist_free_all(request->headers); - /* URL is reused for MOVE after PUT */ - if (request->state != RUN_PUT) { + /* URL is reused for MOVE after PUT and used during FETCH */ + if (request->state != RUN_PUT && request->state != RUN_FETCH_PACKED) { FREE_AND_NULL(request->url); } @@ -723,7 +723,7 @@ static void one_remote_object(const struct object_id *oid) { struct object *obj; - obj = lookup_object(the_repository, oid->hash); + obj = lookup_object(the_repository, oid); if (!obj) obj = parse_object(the_repository, oid); @@ -1432,7 +1432,7 @@ static void one_remote_ref(const char *refname) * may be required for updating server info later. */ if (repo->can_update_info_refs && !has_object_file(&ref->old_oid)) { - obj = lookup_unknown_object(ref->old_oid.hash); + obj = lookup_unknown_object(&ref->old_oid); fprintf(stderr, " fetch %s for %s\n", oid_to_hex(&ref->old_oid), refname); add_fetch_request(obj);