Merge branch 'ps/ref-storage-migration'
commit40a163f217da87b735f2f6b1916a81c4d21689c8
authorJunio C Hamano <gitster@pobox.com>
Mon, 17 Jun 2024 22:55:55 +0000 (17 15:55 -0700)
committerJunio C Hamano <gitster@pobox.com>
Mon, 17 Jun 2024 22:55:55 +0000 (17 15:55 -0700)
tree04a2547b7c4f089595ec95868c2ee3df10681064
parentdfd668fa844f6ba18e6588a5988438baaa2d3e06
parent25a0023f28600102f54e7529c20da5928c3e9c75
Merge branch 'ps/ref-storage-migration'

A new command has been added to migrate a repository that uses the
files backend for its ref storage to use the reftable backend, with
limitations.

* ps/ref-storage-migration:
  builtin/refs: new command to migrate ref storage formats
  refs: implement logic to migrate between ref storage formats
  refs: implement removal of ref storages
  worktree: don't store main worktree twice
  reftable: inline `merged_table_release()`
  refs/files: fix NULL pointer deref when releasing ref store
  refs/files: extract function to iterate through root refs
  refs/files: refactor `add_pseudoref_and_head_entries()`
  refs: allow to skip creation of reflog entries
  refs: pass storage format to `ref_store_init()` explicitly
  refs: convert ref storage format to an enum
  setup: unset ref storage when reinitializing repository version
Makefile
builtin/clone.c
refs/files-backend.c
refs/reftable-backend.c
reftable/merged.c
reftable/merged.h
reftable/stack.c
repository.c
setup.c