diff options
| author | Junio C Hamano <gitster@pobox.com> | 2018-09-24 10:30:52 -0700 |
|---|---|---|
| committer | Junio C Hamano <gitster@pobox.com> | 2018-09-24 10:30:52 -0700 |
| commit | ee99ba7afbbe1c13b10e27f5f9d162f691682146 (patch) | |
| tree | cedb1c3eba5f357d1479d4a99db260394e555e69 /fetch-object.c | |
| parent | 4af130af0cfcb88c82eb223d964d4aa94d1d55d5 (diff) | |
| parent | e68302011c902961bc55db5eec9b9e32acd114ca (diff) | |
| download | git-ee99ba7afbbe1c13b10e27f5f9d162f691682146.tar.gz | |
Merge branch 'jt/lazy-object-fetch-fix'
The code to backfill objects in lazily cloned repository did not
work correctly, which has been corrected.
* jt/lazy-object-fetch-fix:
fetch-object: set exact_oid when fetching
fetch-object: unify fetch_object[s] functions
Diffstat (limited to 'fetch-object.c')
| -rw-r--r-- | fetch-object.c | 17 |
1 files changed, 6 insertions, 11 deletions
diff --git a/fetch-object.c b/fetch-object.c index 853624f811..4266548800 100644 --- a/fetch-object.c +++ b/fetch-object.c @@ -23,21 +23,16 @@ static void fetch_refs(const char *remote_name, struct ref *ref) fetch_if_missing = original_fetch_if_missing; } -void fetch_object(const char *remote_name, const unsigned char *sha1) -{ - struct ref *ref = alloc_ref(sha1_to_hex(sha1)); - hashcpy(ref->old_oid.hash, sha1); - fetch_refs(remote_name, ref); -} - -void fetch_objects(const char *remote_name, const struct oid_array *to_fetch) +void fetch_objects(const char *remote_name, const struct object_id *oids, + int oid_nr) { struct ref *ref = NULL; int i; - for (i = 0; i < to_fetch->nr; i++) { - struct ref *new_ref = alloc_ref(oid_to_hex(&to_fetch->oid[i])); - oidcpy(&new_ref->old_oid, &to_fetch->oid[i]); + for (i = 0; i < oid_nr; i++) { + struct ref *new_ref = alloc_ref(oid_to_hex(&oids[i])); + oidcpy(&new_ref->old_oid, &oids[i]); + new_ref->exact_oid = 1; new_ref->next = ref; ref = new_ref; } |
