Merge branch 'sb/object-store-lookup'
lookup_commit_reference() and friends have been updated to find in-core object for a specific in-core repository instance. * sb/object-store-lookup: (32 commits) commit.c: allow lookup_commit_reference to handle arbitrary repositories commit.c: allow lookup_commit_reference_gently to handle arbitrary repositories tag.c: allow deref_tag to handle arbitrary repositories object.c: allow parse_object to handle arbitrary repositories object.c: allow parse_object_buffer to handle arbitrary repositories commit.c: allow get_cached_commit_buffer to handle arbitrary repositories commit.c: allow set_commit_buffer to handle arbitrary repositories commit.c: migrate the commit buffer to the parsed object store commit-slabs: remove realloc counter outside of slab struct commit.c: allow parse_commit_buffer to handle arbitrary repositories tag: allow parse_tag_buffer to handle arbitrary repositories tag: allow lookup_tag to handle arbitrary repositories commit: allow lookup_commit to handle arbitrary repositories tree: allow lookup_tree to handle arbitrary repositories blob: allow lookup_blob to handle arbitrary repositories object: allow lookup_object to handle arbitrary repositories object: allow object_as_type to handle arbitrary repositories tag: add repository argument to deref_tag tag: add repository argument to parse_tag_buffer tag: add repository argument to lookup_tag ...
This commit is contained in:
19
remote.c
19
remote.c
@ -1149,7 +1149,7 @@ static void add_to_tips(struct tips *tips, const struct object_id *oid)
|
||||
|
||||
if (is_null_oid(oid))
|
||||
return;
|
||||
commit = lookup_commit_reference_gently(oid, 1);
|
||||
commit = lookup_commit_reference_gently(the_repository, oid, 1);
|
||||
if (!commit || (commit->object.flags & TMP_MARK))
|
||||
return;
|
||||
commit->object.flags |= TMP_MARK;
|
||||
@ -1211,7 +1211,8 @@ static void add_missing_tags(struct ref *src, struct ref **dst, struct ref ***ds
|
||||
|
||||
if (is_null_oid(&ref->new_oid))
|
||||
continue;
|
||||
commit = lookup_commit_reference_gently(&ref->new_oid,
|
||||
commit = lookup_commit_reference_gently(the_repository,
|
||||
&ref->new_oid,
|
||||
1);
|
||||
if (!commit)
|
||||
/* not pushing a commit, which is not an error */
|
||||
@ -1435,8 +1436,8 @@ void set_ref_status_for_push(struct ref *remote_refs, int send_mirror,
|
||||
reject_reason = REF_STATUS_REJECT_ALREADY_EXISTS;
|
||||
else if (!has_object_file(&ref->old_oid))
|
||||
reject_reason = REF_STATUS_REJECT_FETCH_FIRST;
|
||||
else if (!lookup_commit_reference_gently(&ref->old_oid, 1) ||
|
||||
!lookup_commit_reference_gently(&ref->new_oid, 1))
|
||||
else if (!lookup_commit_reference_gently(the_repository, &ref->old_oid, 1) ||
|
||||
!lookup_commit_reference_gently(the_repository, &ref->new_oid, 1))
|
||||
reject_reason = REF_STATUS_REJECT_NEEDS_FORCE;
|
||||
else if (!ref_newer(&ref->new_oid, &ref->old_oid))
|
||||
reject_reason = REF_STATUS_REJECT_NONFASTFORWARD;
|
||||
@ -1802,12 +1803,14 @@ int ref_newer(const struct object_id *new_oid, const struct object_id *old_oid)
|
||||
* Both new_commit and old_commit must be commit-ish and new_commit is descendant of
|
||||
* old_commit. Otherwise we require --force.
|
||||
*/
|
||||
o = deref_tag(parse_object(old_oid), NULL, 0);
|
||||
o = deref_tag(the_repository, parse_object(the_repository, old_oid),
|
||||
NULL, 0);
|
||||
if (!o || o->type != OBJ_COMMIT)
|
||||
return 0;
|
||||
old_commit = (struct commit *) o;
|
||||
|
||||
o = deref_tag(parse_object(new_oid), NULL, 0);
|
||||
o = deref_tag(the_repository, parse_object(the_repository, new_oid),
|
||||
NULL, 0);
|
||||
if (!o || o->type != OBJ_COMMIT)
|
||||
return 0;
|
||||
new_commit = (struct commit *) o;
|
||||
@ -1865,13 +1868,13 @@ int stat_tracking_info(struct branch *branch, int *num_ours, int *num_theirs,
|
||||
/* Cannot stat if what we used to build on no longer exists */
|
||||
if (read_ref(base, &oid))
|
||||
return -1;
|
||||
theirs = lookup_commit_reference(&oid);
|
||||
theirs = lookup_commit_reference(the_repository, &oid);
|
||||
if (!theirs)
|
||||
return -1;
|
||||
|
||||
if (read_ref(branch->refname, &oid))
|
||||
return -1;
|
||||
ours = lookup_commit_reference(&oid);
|
||||
ours = lookup_commit_reference(the_repository, &oid);
|
||||
if (!ours)
|
||||
return -1;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user