diff options
author | Junio C Hamano <gitster@pobox.com> | 2018-10-16 09:15:59 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2018-10-16 09:15:59 +0200 |
commit | 6d8f8ebb74d21b51cfbf427a436094134af36ee2 (patch) | |
tree | 0b50647db06413e2f43487b2bfca167105b7f701 /replace-object.c | |
parent | Merge branch 'ab/commit-graph-progress' (diff) | |
parent | commit-graph: close_commit_graph before shallow walk (diff) | |
download | git-6d8f8ebb74d21b51cfbf427a436094134af36ee2.tar.xz git-6d8f8ebb74d21b51cfbf427a436094134af36ee2.zip |
Merge branch 'ds/commit-graph-with-grafts'
The recently introduced commit-graph auxiliary data is incompatible
with mechanisms such as replace & grafts that "breaks" immutable
nature of the object reference relationship. Disable optimizations
based on its use (and updating existing commit-graph) when these
incompatible features are in use in the repository.
* ds/commit-graph-with-grafts:
commit-graph: close_commit_graph before shallow walk
commit-graph: not compatible with uninitialized repo
commit-graph: not compatible with grafts
commit-graph: not compatible with replace objects
test-repository: properly init repo
commit-graph: update design document
refs.c: upgrade for_each_replace_ref to be a each_repo_ref_fn callback
refs.c: migrate internal ref iteration to pass thru repository argument
Diffstat (limited to 'replace-object.c')
-rw-r--r-- | replace-object.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/replace-object.c b/replace-object.c index 4ec77ce418..e295e87943 100644 --- a/replace-object.c +++ b/replace-object.c @@ -6,7 +6,8 @@ #include "repository.h" #include "commit.h" -static int register_replace_ref(const char *refname, +static int register_replace_ref(struct repository *r, + const char *refname, const struct object_id *oid, int flag, void *cb_data) { @@ -25,13 +26,13 @@ static int register_replace_ref(const char *refname, oidcpy(&repl_obj->replacement, oid); /* Register new object */ - if (oidmap_put(the_repository->objects->replace_map, repl_obj)) + if (oidmap_put(r->objects->replace_map, repl_obj)) die(_("duplicate replace ref: %s"), refname); return 0; } -static void prepare_replace_object(struct repository *r) +void prepare_replace_object(struct repository *r) { if (r->objects->replace_map) return; |