aboutsummaryrefslogtreecommitdiff
path: root/reftable
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2024-06-13 09:39:08 -0700
committerJunio C Hamano <gitster@pobox.com>2024-06-13 09:39:08 -0700
commit092b33da2b198cc4428eb9383604204b6ef85fda (patch)
tree389f64f28bbaf70ff7e178e946f045ce4b3931f8 /reftable
parentd63586cb314731c851f28e14fc8012988467e2da (diff)
parent25a0023f28600102f54e7529c20da5928c3e9c75 (diff)
downloadgit-092b33da2b198cc4428eb9383604204b6ef85fda.tar.xz
Merge branch 'ps/ref-storage-migration' into ps/use-the-repository
* 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')
-rw-r--r--reftable/merged.c12
-rw-r--r--reftable/merged.h2
-rw-r--r--reftable/stack.c8
3 files changed, 4 insertions, 18 deletions
diff --git a/reftable/merged.c b/reftable/merged.c
index 0da9dba265..6adce44f4b 100644
--- a/reftable/merged.c
+++ b/reftable/merged.c
@@ -225,19 +225,11 @@ int reftable_new_merged_table(struct reftable_merged_table **dest,
return 0;
}
-/* clears the list of subtable, without affecting the readers themselves. */
-void merged_table_release(struct reftable_merged_table *mt)
-{
- FREE_AND_NULL(mt->stack);
- mt->stack_len = 0;
-}
-
void reftable_merged_table_free(struct reftable_merged_table *mt)
{
- if (!mt) {
+ if (!mt)
return;
- }
- merged_table_release(mt);
+ FREE_AND_NULL(mt->stack);
reftable_free(mt);
}
diff --git a/reftable/merged.h b/reftable/merged.h
index a10469f58e..2efe571da6 100644
--- a/reftable/merged.h
+++ b/reftable/merged.h
@@ -24,8 +24,6 @@ struct reftable_merged_table {
uint64_t max;
};
-void merged_table_release(struct reftable_merged_table *mt);
-
struct reftable_iterator;
void merged_table_init_iter(struct reftable_merged_table *mt,
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;