git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[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 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: Seyi Kuforiji
Message 1 of 30 in “oidmap: migrate cleanup to oidmap_clear_with_free()”
  1. 0/5 oidmap: migrate cleanup to oidmap_clear_with_free()Seyi Kuforiji, Feb 27, 2026
  2. 1/5 oidmap: make entry cleanup explicit in oidmap_clearSeyi Kuforiji, Feb 27, 2026
  3. 2/5 builtin/rev-list: migrate missing_objects cleanup to oidmap_clear_with_free()Seyi Kuforiji, Feb 27, 2026
  4. Junio C HamanoFeb 28, 2026
  5. 3/5 list-objects-filter: use oidmap_clear_with_free() for cleanupSeyi Kuforiji, Feb 27, 2026
  6. 4/5 odb: use oidmap_clear_with_free() to release replace_map entriesSeyi Kuforiji, Feb 27, 2026
  7. 5/5 sequencer: use oidmap_clear_with_free() for string_entry cleanupSeyi Kuforiji, Feb 27, 2026
  8. 0/5 oidmap: migrate cleanup to oidmap_clear_with_free()Seyi Kuforiji, Mar 2, 2026
  9. 1/5 oidmap: make entry cleanup explicit in oidmap_clearSeyi Kuforiji, Mar 2, 2026
  10. Junio C HamanoMar 2, 2026
  11. 2/5 builtin/rev-list: migrate missing_objects cleanup to oidmap_clear_with_free()Seyi Kuforiji, Mar 2, 2026
  12. Junio C HamanoMar 2, 2026
  13. Patrick SteinhardtMar 4, 2026
  14. 3/5 list-objects-filter: use oidmap_clear_with_free() for cleanupSeyi Kuforiji, Mar 2, 2026
  15. Junio C HamanoMar 2, 2026
  16. Patrick SteinhardtMar 4, 2026
  17. Junio C HamanoMar 4, 2026
  18. Seyi KuforijiMar 4, 2026
  19. Junio C HamanoMar 4, 2026
  20. Junio C HamanoMar 4, 2026
  21. 4/5 odb: use oidmap_clear_with_free() to release replace_map entriesSeyi Kuforiji, Mar 2, 2026
  22. Junio C HamanoMar 2, 2026
  23. 5/5 sequencer: use oidmap_clear_with_free() for string_entry cleanupSeyi Kuforiji, Mar 2, 2026
  24. Junio C HamanoMar 2, 2026
  25. Patrick SteinhardtMar 4, 2026
  26. 0/2 oidmap: migrate cleanup to oidmap_clear_with_free()Seyi Kuforiji, Mar 5, 2026
  27. 1/2 oidmap: make entry cleanup explicit in oidmap_clearSeyi Kuforiji, Mar 5, 2026
  28. 2/2 builtin/rev-list: migrate missing_objects cleanup to oidmap_clear_with_free()Seyi Kuforiji, Mar 5, 2026
  29. Patrick SteinhardtMar 5, 2026
  30. Junio C HamanoMar 5, 2026

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.