git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/6] builtin/maintenance: introduce "reflog-expire" task
@ 2025-02-26 15:24 Patrick Steinhardt
  2025-02-26 15:24 ` [PATCH 1/6] reflog: rename `cmd_reflog_expire_cb` to `reflog_expire_options` Patrick Steinhardt
                   ` (8 more replies)
  0 siblings, 9 replies; 26+ messages in thread
From: Patrick Steinhardt @ 2025-02-26 15:24 UTC (permalink / raw)
  To: git; +Cc: Markus Gerstel, Junio C Hamano, Derrick Stolee

Hi,

this patch series introduces a new "reflog-expire" task to
git-maintenance(1). This task is designed to plug a gap when the "gc"
task is disabled, as there is no way to expire reflog entries in that
case.

This patch series has been inspired by the discussion at [1]. I consider
it to be another step into the direction of replacing git-gc(1) and
allowing for more flexible maintenance strategies overall. Next steps
could be:

  1. Enable the "reflog-expire" task by default when using the
     "incremental" strategy. and then we might eventually switch over
     the

  2. Use "incremental" strategy when "features.experimental" is enabled.

  3. Switch over the default strategy to "incremental" after a couple of
     releases.

Thanks!

Patrick

[1]: <e650f4e4-e267-4f1f-bb3a-c71b1fe0b276@uxp.de>

---
Patrick Steinhardt (6):
      reflog: rename `cmd_reflog_expire_cb` to `reflog_expire_options`
      builtin/reflog: stop storing default reflog expiry dates globally
      builtin/reflog: stop storing per-reflog expiry dates globally
      builtin/reflog: make functions regarding `reflog_expire_options` public
      builtin/gc: split out function to expire reflog entries
      builtin/maintenance: introduce "reflog-expire" task

 Documentation/config/maintenance.adoc |   9 ++
 Documentation/git-maintenance.adoc    |   4 +
 builtin/gc.c                          |  72 +++++++++++++---
 builtin/reflog.c                      | 153 ++++------------------------------
 reflog.c                              | 137 ++++++++++++++++++++++++++----
 reflog.h                              |  35 +++++++-
 t/t7900-maintenance.sh                |  18 ++++
 7 files changed, 263 insertions(+), 165 deletions(-)


---
base-commit: 5a526e5e18ddb9a7dfc5a2967d21d6154df64a4f
change-id: 20250226-pks-maintenance-reflog-expire-61c61410751a


^ permalink raw reply	[flat|nested] 26+ messages in thread

end of thread, other threads:[~2025-04-08  6:22 UTC | newest]

Thread overview: 26+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-02-26 15:24 [PATCH 0/6] builtin/maintenance: introduce "reflog-expire" task Patrick Steinhardt
2025-02-26 15:24 ` [PATCH 1/6] reflog: rename `cmd_reflog_expire_cb` to `reflog_expire_options` Patrick Steinhardt
2025-02-26 15:24 ` [PATCH 2/6] builtin/reflog: stop storing default reflog expiry dates globally Patrick Steinhardt
2025-03-04 23:23   ` Justin Tobler
2025-02-26 15:24 ` [PATCH 3/6] builtin/reflog: stop storing per-reflog " Patrick Steinhardt
2025-03-04 23:41   ` Justin Tobler
2025-03-06 10:37     ` Patrick Steinhardt
2025-03-06 23:17       ` Justin Tobler
2025-02-26 15:24 ` [PATCH 4/6] builtin/reflog: make functions regarding `reflog_expire_options` public Patrick Steinhardt
2025-02-26 15:24 ` [PATCH 5/6] builtin/gc: split out function to expire reflog entries Patrick Steinhardt
2025-02-26 15:24 ` [PATCH 6/6] builtin/maintenance: introduce "reflog-expire" task Patrick Steinhardt
2025-02-26 17:50 ` [PATCH 0/6] " Ramsay Jones
2025-02-26 18:40   ` Junio C Hamano
2025-02-26 18:54     ` Ramsay Jones
2025-02-27  9:10       ` Patrick Steinhardt
2025-02-27  1:23 ` Junio C Hamano
2025-02-27  9:22   ` Patrick Steinhardt
2025-02-27 17:01     ` Junio C Hamano
2025-02-28  8:35       ` Patrick Steinhardt
2025-04-08  6:22 ` [PATCH v2 " Patrick Steinhardt
2025-04-08  6:22   ` [PATCH v2 1/6] reflog: rename `cmd_reflog_expire_cb` to `reflog_expire_options` Patrick Steinhardt
2025-04-08  6:22   ` [PATCH v2 2/6] builtin/reflog: stop storing default reflog expiry dates globally Patrick Steinhardt
2025-04-08  6:22   ` [PATCH v2 3/6] builtin/reflog: stop storing per-reflog " Patrick Steinhardt
2025-04-08  6:22   ` [PATCH v2 4/6] builtin/reflog: make functions regarding `reflog_expire_options` public Patrick Steinhardt
2025-04-08  6:22   ` [PATCH v2 5/6] builtin/gc: split out function to expire reflog entries Patrick Steinhardt
2025-04-08  6:22   ` [PATCH v2 6/6] builtin/maintenance: introduce "reflog-expire" task Patrick Steinhardt

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).