Merge branch 'kn/reflog-migration'

"git refs migrate" learned to also migrate the reflog data across
backends.

* kn/reflog-migration:
  refs: mark invalid refname message for translation
  refs: add support for migrating reflogs
  refs: allow multiple reflog entries for the same refname
  refs: introduce the `ref_transaction_update_reflog` function
  refs: add `committer_info` to `ref_transaction_add_update()`
  refs: extract out refname verification in transactions
  refs/files: add count field to ref_lock
  refs: add `index` field to `struct ref_udpate`
  refs: include committer info in `ref_update` struct
This commit is contained in:
Junio C Hamano
2024-12-23 09:32:29 -08:00
7 changed files with 337 additions and 121 deletions

View File

@ -113,6 +113,14 @@ struct ref_update {
void *backend_data;
unsigned int type;
char *msg;
char *committer_info;
/*
* The index overrides the default sort algorithm. This is needed
* when migrating reflogs and we want to ensure we carry over the
* same order.
*/
unsigned int index;
/*
* If this ref_update was split off of a symref update via
@ -154,6 +162,7 @@ struct ref_update *ref_transaction_add_update(
const struct object_id *new_oid,
const struct object_id *old_oid,
const char *new_target, const char *old_target,
const char *committer_info,
const char *msg);
/*