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

[PATCH 0/4] odb: support ODB source specific transaction handling

From
Justin Tobler <jltobler@gmail.com>
Date
Jan 28, 2026, 23:45 UTC
Message-ID
<20260128234519.2721179-1-jltobler@gmail.com>
Greetings,

ODB transactions provide a mechanism for writing new objects in the repository that are in a pending state until they are committed. With pluggable ODBs, each source will likely need to handle transactions differently. This patch series prepares ODB transaction handling to be defined for each ODB source by creating a generic odb_transaction structure that stores a callback for committing the transaction.

For now, `struct odb_transaction_loose` is the only transaction implementation and what is always returned when creating a transaction. Additionally, this series lifts transaction logic that is common to all backends out of the implementation layer into `odb_transaction_{begin,commit}()` layer.

Thanks, -Justin

Justin Tobler (4):
  odb: store ODB source in `struct odb_transaction`
  object-file: rename transaction functions
  odb: prepare `struct odb_transaction` to support more sources
  odb: transparently handle common transaction behavior
 object-file.c | 77 +++++++++++++++++++++++++--------------------------
 object-file.h | 10 ++-----
 odb.c         | 22 +++++++++++++--
 odb.h         | 17 ++++++++++++
 4 files changed, 77 insertions(+), 49 deletions(-)
base-commit: ea717645d199f6f1b66058886475db3e8c9330e9
-- 
2.52.0.373.g68cb7f9e92
Next: Justin Tobler
Message 1 of 32 in “odb: support ODB source specific transaction handling”
  1. 0/4 odb: support ODB source specific transaction handlingJustin Tobler, Jan 28, 2026
  2. 1/4 odb: store ODB source in `struct odb_transaction`Justin Tobler, Jan 28, 2026
  3. Patrick SteinhardtJan 29, 2026
  4. Junio C HamanoJan 29, 2026
  5. Justin ToblerJan 29, 2026
  6. Junio C HamanoJan 29, 2026
  7. Justin ToblerJan 29, 2026
  8. Justin ToblerJan 29, 2026
  9. 2/4 object-file: rename transaction functionsJustin Tobler, Jan 28, 2026
  10. 3/4 odb: prepare `struct odb_transaction` to support more sourcesJustin Tobler, Jan 28, 2026
  11. Patrick SteinhardtJan 29, 2026
  12. Justin ToblerJan 29, 2026
  13. 4/4 odb: transparently handle common transaction behaviorJustin Tobler, Jan 28, 2026
  14. Patrick SteinhardtJan 29, 2026
  15. 0/4 odb: support ODB source specific transaction handlingJustin Tobler, Feb 3, 2026
  16. 1/4 odb: store ODB source in `struct odb_transaction`Justin Tobler, Feb 3, 2026
  17. 2/4 object-file: rename transaction functionsJustin Tobler, Feb 3, 2026
  18. 3/4 odb: prepare `struct odb_transaction` to become genericJustin Tobler, Feb 3, 2026
  19. Toon ClaesFeb 3, 2026
  20. Justin ToblerFeb 3, 2026
  21. Junio C HamanoFeb 3, 2026
  22. Patrick SteinhardtFeb 4, 2026
  23. Justin ToblerFeb 4, 2026
  24. Karthik NayakFeb 4, 2026
  25. Justin ToblerFeb 4, 2026
  26. Karthik NayakFeb 5, 2026
  27. 4/4 odb: transparently handle common transaction behaviorJustin Tobler, Feb 3, 2026
  28. Karthik NayakFeb 4, 2026
  29. Justin ToblerFeb 4, 2026
  30. Karthik NayakFeb 5, 2026
  31. Junio C HamanoFeb 3, 2026
  32. Patrick SteinhardtFeb 4, 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.