]> git.ipfire.org Git - thirdparty/git.git/commit
builtin/reflog: stop storing default reflog expiry dates globally
authorPatrick Steinhardt <ps@pks.im>
Tue, 8 Apr 2025 06:22:13 +0000 (08:22 +0200)
committerJunio C Hamano <gitster@pobox.com>
Tue, 8 Apr 2025 14:53:26 +0000 (07:53 -0700)
commit85658275702bad04c916e2709fe33d2efc6de5e4
treed098dfc4e4708b654b1df2cea6f03f287042e25f
parent2ed800839904d598b6c67e6ed2d57276bef9777d
builtin/reflog: stop storing default reflog expiry dates globally

When expiring reflog entries, it is possible to configure expiry dates
that depend on the name of the reflog. This requires us to store a
couple of different expiry dates:

  - The default expiry date for reflog entries that aren't otherwise
    specified.

  - The per-reflog expiry date.

  - The currently active set of expiry dates for a given reference.

While the last item is stored in `struct reflog_expire_options`, the
other items aren't, which makes it hard to reuse the structure in other
places.

Refactor the code so that the default expiry date is stored as part of
the structure. The per-reflog expiry dates will be adapted accordingly
in the subsequent commit.

Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/reflog.c
reflog.h