diff options
author | Junio C Hamano <gitster@pobox.com> | 2022-03-01 21:11:00 +0300 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2022-03-01 21:11:00 +0300 |
commit | 34363403a28ad4d0bd76c5aa7351293b6e4a4e47 (patch) | |
tree | 3036703a7ca8b3f1846f8d6745d8609c57ceba56 /refs.h | |
parent | e6ebfd0e8cbbd10878070c8a356b5ad1b3ca464e (diff) | |
parent | 583bc419235cedc6a2ba12593f058a9f812b9594 (diff) |
Merge branch 'ps/fetch-atomic' into ps/fetch-mirror-optim
* ps/fetch-atomic:
fetch: make `--atomic` flag cover pruning of refs
fetch: make `--atomic` flag cover backfilling of tags
refs: add interface to iterate over queued transactional updates
fetch: report errors when backfilling tags fails
fetch: control lifecycle of FETCH_HEAD in a single place
fetch: backfill tags before setting upstream
fetch: increase test coverage of fetches
Diffstat (limited to 'refs.h')
-rw-r--r-- | refs.h | 14 |
1 files changed, 14 insertions, 0 deletions
@@ -777,6 +777,20 @@ int initial_ref_transaction_commit(struct ref_transaction *transaction, struct strbuf *err); /* + * Execute the given callback function for each of the reference updates which + * have been queued in the given transaction. `old_oid` and `new_oid` may be + * `NULL` pointers depending on whether the update has these object IDs set or + * not. + */ +typedef void ref_transaction_for_each_queued_update_fn(const char *refname, + const struct object_id *old_oid, + const struct object_id *new_oid, + void *cb_data); +void ref_transaction_for_each_queued_update(struct ref_transaction *transaction, + ref_transaction_for_each_queued_update_fn cb, + void *cb_data); + +/* * Free `*transaction` and all associated data. */ void ref_transaction_free(struct ref_transaction *transaction); |