[PATCH v3 06/10] builtin/maintenance: improve readability of strategies
From: Patrick Steinhardt <hidden>
Date: 2025-10-24 06:57:39
Subsystem:
the rest · Maintainer:
Linus Torvalds
Our maintenance strategies are essentially a large array of structures, where each of the tasks can be enabled and scheduled individually. With the current layout though all the configuration sits on the same nesting layer, which makes it a bit hard to discern which initialized fields belong to what task. Improve readability of the individual tasks by using nested designated initializers instead. Suggested-by: Taylor Blau <redacted> Signed-off-by: Patrick Steinhardt <redacted> --- builtin/gc.c | 36 +++++++++++++++++++++++++----------- 1 file changed, 25 insertions(+), 11 deletions(-)
diff --git a/builtin/gc.c b/builtin/gc.c
index 726d944d3bd..0ba6e59de14 100644
--- a/builtin/gc.c
+++ b/builtin/gc.c@@ -1835,23 +1835,37 @@ struct maintenance_strategy { }; static const struct maintenance_strategy none_strategy = { 0 }; + static const struct maintenance_strategy default_strategy = { .tasks = { - [TASK_GC].enabled = 1, + [TASK_GC] = { + .enabled = 1, + }, }, }; + static const struct maintenance_strategy incremental_strategy = { .tasks = { - [TASK_COMMIT_GRAPH].enabled = 1, - [TASK_COMMIT_GRAPH].schedule = SCHEDULE_HOURLY, - [TASK_PREFETCH].enabled = 1, - [TASK_PREFETCH].schedule = SCHEDULE_HOURLY, - [TASK_INCREMENTAL_REPACK].enabled = 1, - [TASK_INCREMENTAL_REPACK].schedule = SCHEDULE_DAILY, - [TASK_LOOSE_OBJECTS].enabled = 1, - [TASK_LOOSE_OBJECTS].schedule = SCHEDULE_DAILY, - [TASK_PACK_REFS].enabled = 1, - [TASK_PACK_REFS].schedule = SCHEDULE_WEEKLY, + [TASK_COMMIT_GRAPH] = { + .enabled = 1, + .schedule = SCHEDULE_HOURLY, + }, + [TASK_PREFETCH] = { + .enabled = 1, + .schedule = SCHEDULE_HOURLY, + }, + [TASK_INCREMENTAL_REPACK] = { + .enabled = 1, + .schedule = SCHEDULE_DAILY, + }, + [TASK_LOOSE_OBJECTS] = { + .enabled = 1, + .schedule = SCHEDULE_DAILY, + }, + [TASK_PACK_REFS] = { + .enabled = 1, + .schedule = SCHEDULE_WEEKLY, + }, }, };
--
2.51.1.930.gacf6e81ea2.dirty