aboutsummaryrefslogtreecommitdiffstats
path: root/refs/packed-backend.c
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2025-11-08 10:05:35 -0800
committerJunio C Hamano <gitster@pobox.com>2025-11-08 10:05:37 -0800
commitf2414e11feb8833fd51dc7dee11b1c99c0a54821 (patch)
tree8075b2f96403a9277f4f17ae6f8d697df4aad800 /refs/packed-backend.c
parentMerge branch 'en/ort-rename-another-fix' into jch (diff)
parentmaintenance: add 'is-needed' subcommand (diff)
downloadgit-f2414e11feb8833fd51dc7dee11b1c99c0a54821.tar.gz
git-f2414e11feb8833fd51dc7dee11b1c99c0a54821.zip
Merge branch 'kn/maintenance-is-needed' into jch
"git maintenance" command learned "is-needed" subcommand to tell if it is necessary to perform various maintenance tasks. * kn/maintenance-is-needed: maintenance: add 'is-needed' subcommand maintenance: add checking logic in `pack_refs_condition()` refs: add a `optimize_required` field to `struct ref_storage_be` reftable/stack: add function to check if optimization is required reftable/stack: return stack segments directly
Diffstat (limited to 'refs/packed-backend.c')
-rw-r--r--refs/packed-backend.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/refs/packed-backend.c b/refs/packed-backend.c
index 10062fd8b6..19ce4d5872 100644
--- a/refs/packed-backend.c
+++ b/refs/packed-backend.c
@@ -1784,6 +1784,17 @@ static int packed_optimize(struct ref_store *ref_store UNUSED,
return 0;
}
+static int packed_optimize_required(struct ref_store *ref_store UNUSED,
+ struct refs_optimize_opts *opts UNUSED,
+ bool *required)
+{
+ /*
+ * Packed refs are already optimized.
+ */
+ *required = false;
+ return 0;
+}
+
static struct ref_iterator *packed_reflog_iterator_begin(struct ref_store *ref_store UNUSED)
{
return empty_ref_iterator_begin();
@@ -2130,6 +2141,8 @@ struct ref_storage_be refs_be_packed = {
.transaction_abort = packed_transaction_abort,
.optimize = packed_optimize,
+ .optimize_required = packed_optimize_required,
+
.rename_ref = NULL,
.copy_ref = NULL,