This is a follow-up to a much smaller patch[1] discussed in November to make t0006-date.sh pass with SANITIZE=leak. In reply Jeff King pointed out that reaching into its private guts in the test helper felt ugly[2]. So this series pursues a more thorough approach, creating a date.h, moving our date functions there out of cache.h, documenting the core functions, and finally adding and using a date_mode_release() function. It's definitely taking the long way around, but I think that the end result is worth it. I then have a follow-up series to plug memory leaks in revision.h, which will make use of this new API. 1. https://lore.kernel.org/git/patch-1.1-15f5bd3e4f4-20211116T183025Z-avarab@xxxxxxxxx/ 2. https://lore.kernel.org/git/YZQHEiFnOdyxYX5t@xxxxxxxxxxxxxxxxxxxxxxx/ Ævar Arnfjörð Bjarmason (5): cache.h: remove always unused show_date_human() declaration date API: create a date.h, split from cache.h date API: provide and use a DATE_MODE_INIT date API: add basic API docs date API: add and use a date_mode_release() archive-zip.c | 1 + builtin/am.c | 1 + builtin/commit.c | 1 + builtin/fast-import.c | 1 + builtin/show-branch.c | 1 + builtin/tag.c | 1 + cache.h | 50 ----------------------------- config.c | 1 + date.c | 9 ++++-- date.h | 73 +++++++++++++++++++++++++++++++++++++++++++ http-backend.c | 1 + ident.c | 1 + object-name.c | 1 + pretty.h | 10 ++++++ ref-filter.c | 3 +- refs.c | 1 + strbuf.c | 1 + t/helper/test-date.c | 5 ++- t/t0006-date.sh | 2 ++ 19 files changed, 110 insertions(+), 54 deletions(-) create mode 100644 date.h -- 2.35.0.913.g12b4baa2536