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 /refs.h | |
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 'refs.h')
-rw-r--r-- | refs.h | 12 |
1 files changed, 11 insertions, 1 deletions
@@ -277,6 +277,16 @@ typedef int each_ref_fn(const char *refname, const struct object_id *oid, int flags, void *cb_data); /* + * The same as each_ref_fn, but also with a repository argument that + * contains the repository associated with the callback. + */ +typedef int each_repo_ref_fn(struct repository *r, + const char *refname, + const struct object_id *oid, + int flags, + void *cb_data); + +/* * The following functions invoke the specified callback function for * each reference indicated. If the function ever returns a nonzero * value, stop the iteration and return that value. Please note that @@ -309,7 +319,7 @@ int for_each_fullref_in(const char *prefix, each_ref_fn fn, void *cb_data, int for_each_tag_ref(each_ref_fn fn, void *cb_data); int for_each_branch_ref(each_ref_fn fn, void *cb_data); int for_each_remote_ref(each_ref_fn fn, void *cb_data); -int for_each_replace_ref(struct repository *r, each_ref_fn fn, void *cb_data); +int for_each_replace_ref(struct repository *r, each_repo_ref_fn fn, void *cb_data); int for_each_glob_ref(each_ref_fn fn, const char *pattern, void *cb_data); int for_each_glob_ref_in(each_ref_fn fn, const char *pattern, const char *prefix, void *cb_data); |