From: Seyi Kuforiji <kuforiji98@gmail.com>
To: git@vger.kernel.org
Cc: ps@pks.im, Seyi Kuforiji <kuforiji98@gmail.com>
Subject: [PATCH 0/5] oidmap: migrate cleanup to oidmap_clear_with_free()
Date: Sat, 28 Feb 2026 00:42:08 +0100 [thread overview]
Message-ID: <20260227234213.17633-1-kuforiji98@gmail.com> (raw)
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 cleanup
builtin/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
next reply other threads:[~2026-02-27 23:42 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-02-27 23:42 Seyi Kuforiji [this message]
2026-02-27 23:42 ` [PATCH 1/5] oidmap: make entry cleanup explicit in oidmap_clear Seyi Kuforiji
2026-02-27 23:42 ` [PATCH 2/5] builtin/rev-list: migrate missing_objects cleanup to oidmap_clear_with_free() Seyi Kuforiji
2026-02-28 0:09 ` Junio C Hamano
2026-02-27 23:42 ` [PATCH 3/5] list-objects-filter: use oidmap_clear_with_free() for cleanup Seyi Kuforiji
2026-02-27 23:42 ` [PATCH 4/5] odb: use oidmap_clear_with_free() to release replace_map entries Seyi Kuforiji
2026-02-27 23:42 ` [PATCH 5/5] sequencer: use oidmap_clear_with_free() for string_entry cleanup Seyi Kuforiji
2026-03-02 20:00 ` [PATCH v2 0/5] oidmap: migrate cleanup to oidmap_clear_with_free() Seyi Kuforiji
2026-03-02 20:00 ` [PATCH v2 1/5] oidmap: make entry cleanup explicit in oidmap_clear Seyi Kuforiji
2026-03-02 22:23 ` Junio C Hamano
2026-03-02 20:00 ` [PATCH v2 2/5] builtin/rev-list: migrate missing_objects cleanup to oidmap_clear_with_free() Seyi Kuforiji
2026-03-02 22:26 ` Junio C Hamano
2026-03-04 6:57 ` Patrick Steinhardt
2026-03-02 20:00 ` [PATCH v2 3/5] list-objects-filter: use oidmap_clear_with_free() for cleanup Seyi Kuforiji
2026-03-02 22:30 ` Junio C Hamano
2026-03-04 6:57 ` Patrick Steinhardt
2026-03-04 15:31 ` Junio C Hamano
2026-03-04 19:29 ` Seyi Kuforiji
2026-03-04 20:30 ` Junio C Hamano
2026-03-04 21:43 ` Junio C Hamano
2026-03-02 20:00 ` [PATCH v2 4/5] odb: use oidmap_clear_with_free() to release replace_map entries Seyi Kuforiji
2026-03-02 22:35 ` Junio C Hamano
2026-03-02 20:00 ` [PATCH v2 5/5] sequencer: use oidmap_clear_with_free() for string_entry cleanup Seyi Kuforiji
2026-03-02 22:38 ` Junio C Hamano
2026-03-04 6:57 ` Patrick Steinhardt
2026-03-05 10:05 ` [PATCH v3 0/2] oidmap: migrate cleanup to oidmap_clear_with_free() Seyi Kuforiji
2026-03-05 10:05 ` [PATCH v3 1/2] oidmap: make entry cleanup explicit in oidmap_clear Seyi Kuforiji
2026-03-05 10:05 ` [PATCH v3 2/2] builtin/rev-list: migrate missing_objects cleanup to oidmap_clear_with_free() Seyi Kuforiji
2026-03-05 14:27 ` [PATCH v3 0/2] oidmap: migrate " Patrick Steinhardt
2026-03-05 19:17 ` Junio C Hamano
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260227234213.17633-1-kuforiji98@gmail.com \
--to=kuforiji98@gmail.com \
--cc=git@vger.kernel.org \
--cc=ps@pks.im \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox