Merge branch 'js/unmap-before-ext-diff'
[gitweb.git] / http-push.c
index c4e5142bc9e5457162cef25a7fbe4f662f335c19..0353f9f5143d7fff3a2b4b11d02375255258319b 100644 (file)
@@ -316,7 +316,7 @@ static void start_fetch_packed(struct transfer_request *request)
        }
 
        fprintf(stderr, "Fetching pack %s\n",
-               sha1_to_hex(target->hash));
+               hash_to_hex(target->hash));
        fprintf(stderr, " which contains %s\n", oid_to_hex(&request->obj->oid));
 
        preq = new_http_pack_request(target, repo->url);
@@ -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);
 
@@ -1374,7 +1374,7 @@ static int get_delta(struct rev_info *revs, struct remote_lock *lock)
        return count;
 }
 
-static int update_remote(unsigned char *sha1, struct remote_lock *lock)
+static int update_remote(const struct object_id *oid, struct remote_lock *lock)
 {
        struct active_request_slot *slot;
        struct slot_results results;
@@ -1383,7 +1383,7 @@ static int update_remote(unsigned char *sha1, struct remote_lock *lock)
 
        dav_headers = get_dav_token_headers(lock, DAV_HEADER_IF);
 
-       strbuf_addf(&out_buffer.buf, "%s\n", sha1_to_hex(sha1));
+       strbuf_addf(&out_buffer.buf, "%s\n", oid_to_hex(oid));
 
        slot = get_active_slot();
        slot->results = &results;
@@ -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);
@@ -1948,7 +1948,7 @@ int cmd_main(int argc, const char **argv)
                run_request_queue();
 
                /* Update the remote branch if all went well */
-               if (aborted || !update_remote(ref->new_oid.hash, ref_lock))
+               if (aborted || !update_remote(&ref->new_oid, ref_lock))
                        rc = 1;
 
                if (!rc)