aboutsummaryrefslogtreecommitdiffstats
path: root/reftable/stack.c
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2024-06-17 15:55:55 -0700
committerJunio C Hamano <gitster@pobox.com>2024-06-17 15:55:55 -0700
commit40a163f217da87b735f2f6b1916a81c4d21689c8 (patch)
tree04a2547b7c4f089595ec95868c2ee3df10681064 /reftable/stack.c
parentMerge branch 'ps/check-docs-fix' (diff)
parentbuiltin/refs: new command to migrate ref storage formats (diff)
downloadgit-40a163f217da87b735f2f6b1916a81c4d21689c8.tar.gz
git-40a163f217da87b735f2f6b1916a81c4d21689c8.zip
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
Diffstat (limited to 'reftable/stack.c')
-rw-r--r--reftable/stack.c8
1 files changed, 2 insertions, 6 deletions
diff --git a/reftable/stack.c b/reftable/stack.c
index 98ac9cf9f9..324cb27ce9 100644
--- a/reftable/stack.c
+++ b/reftable/stack.c
@@ -278,10 +278,8 @@ static int reftable_stack_reload_once(struct reftable_stack *st, char **names,
new_tables = NULL;
st->readers_len = new_readers_len;
- if (st->merged) {
- merged_table_release(st->merged);
+ if (st->merged)
reftable_merged_table_free(st->merged);
- }
if (st->readers) {
reftable_free(st->readers);
}
@@ -987,10 +985,8 @@ static int stack_write_compact(struct reftable_stack *st,
done:
reftable_iterator_destroy(&it);
- if (mt) {
- merged_table_release(mt);
+ if (mt)
reftable_merged_table_free(mt);
- }
reftable_ref_record_release(&ref);
reftable_log_record_release(&log);
st->stats.entries_written += entries;