]> git.ipfire.org Git - thirdparty/git.git/commit
reftable/stack: add function to check if optimization is required
authorKarthik Nayak <karthik.188@gmail.com>
Sat, 8 Nov 2025 21:51:54 +0000 (22:51 +0100)
committerJunio C Hamano <gitster@pobox.com>
Mon, 10 Nov 2025 17:28:47 +0000 (09:28 -0800)
commite35155588aa9f0355eb7e116ea418c189479f62d
treea0241c0a8cbaedfa98d729c94c28119e4e8d1c45
parent135f491f83d4763bdc61642eb0126ce2e6ada286
reftable/stack: add function to check if optimization is required

The reftable backend performs auto-compaction as part of its regular
flow, which is required to keep the number of tables part of a stack at
bay. This allows it to stay optimized.

Compaction can also be triggered voluntarily by the user via the 'git
pack-refs' or the 'git refs optimize' command. However, currently there
is no way for the user to check if optimization is required without
actually performing it.

Extract out the heuristics logic from 'reftable_stack_auto_compact()'
into an internal function 'update_segment_if_compaction_required()'.
Then use this to add and expose `reftable_stack_compaction_required()`
which will allow users to check if the reftable backend can be
optimized.

Signed-off-by: Karthik Nayak <karthik.188@gmail.com>
Acked-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
reftable/reftable-stack.h
reftable/stack.c
t/unit-tests/u-reftable-stack.c