[PATCH 0/5] oidmap: migrate cleanup to oidmap_clear_with_free()
- From
Seyi Kuforiji <kuforiji98@gmail.com>
- Date
- Feb 27, 2026, 23:42 UTC
- Message-ID
- <20260227234213.17633-1-kuforiji98@gmail.com>
Hi,
This series replaces oidmap_clear(map, 1) with oidmap_clear_with_free() and introduces explicit free callbacks at the remaining call sites.
The old boolean-based API implicitly assumed plain free(), which obscures ownership semantics and does not work well when oidmap_entry is embedded inside larger structures. The callback-based API makes cleanup explicit and type-safe, and avoids relying on hidden assumptions about allocation.
This improves readability, maintainability, and correctness, and makes future refactoring of oidmap users more robust.
This is used in subsequent commits to adequately cleanup all usage site.
Thanks, Seyi Kuforiji
Seyi Kufoiji (5):
oidmap: make entry cleanup explicit in oidmap_clear
builtin/rev-list: migrate missing_objects cleanup to
oidmap_clear_with_free()
list-objects-filter: use oidmap_clear_with_free() for cleanup
odb: use oidmap_clear_with_free() to release replace_map entries
sequencer: use oidmap_clear_with_free() for string_entry cleanupbuiltin/rev-list.c | 13 ++++++++++--- list-objects-filter.c | 9 ++++++++- odb.c | 11 ++++++++++- oidmap.c | 23 ++++++++++++++++++++--- oidmap.h | 15 +++++++++++++++ sequencer.c | 10 ++++++++-- t/unit-tests/u-oidmap.c | 41 +++++++++++++++++++++++++++++++++++++++++ 7 files changed, 112 insertions(+), 10 deletions(-)
-- 2.43.0