git/odb
Justin Tobler fa7dbe2e4f builtin/receive-pack: stage incoming objects via ODB transactions
Objects received by git-receive-pack(1) are quarantined in a temporary
"incoming" directory and migrated into the object database prior to the
reference updates. The quarantine is currently managed through
`tmp_objdir` directly. In a pluggable ODB future, how exactly an object
gets written to a transaction may vary for a given ODB source. Refactor
git-receive-pack(1) to use the ODB transaction interfaces to manage the
object staging area in a more agnostic manner accordingly.

Note that the temporary directory created for git-receive-pack(1) is
eagerly created and uses a different prefix name. This behavior is
special cased in the "files" backend by having `odb_transaction_begin()`
callers that require this behavior provide an `ODB_TRANSACTION_RECEIVE`
flag.

Signed-off-by: Justin Tobler <jltobler@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2026-06-24 11:19:11 -07:00
..
source-files.c builtin/receive-pack: stage incoming objects via ODB transactions 2026-06-24 11:19:11 -07:00
source-files.h odb/source: make `free()` function pluggable 2026-03-05 11:45:15 -08:00
source-inmemory.c builtin/receive-pack: stage incoming objects via ODB transactions 2026-06-24 11:19:11 -07:00
source-inmemory.h odb/source-inmemory: convert to use oidtree 2026-05-15 04:50:45 +09:00
source-loose.c builtin/receive-pack: stage incoming objects via ODB transactions 2026-06-24 11:19:11 -07:00
source-loose.h odb/source-loose: drop pointer to the "files" source 2026-06-01 18:47:19 +09:00
source.c odb/source: make `free()` function pluggable 2026-03-05 11:45:15 -08:00
source.h builtin/receive-pack: stage incoming objects via ODB transactions 2026-06-24 11:19:11 -07:00
streaming.c Merge branch 'ps/odb-in-memory' into ps/odb-source-loose 2026-05-21 22:34:55 +09:00
streaming.h Merge branch 'ps/odb-in-memory' into ps/odb-source-loose 2026-05-21 22:34:55 +09:00
transaction.c builtin/receive-pack: stage incoming objects via ODB transactions 2026-06-24 11:19:11 -07:00
transaction.h builtin/receive-pack: stage incoming objects via ODB transactions 2026-06-24 11:19:11 -07:00