mirror of
https://github.com/git-for-windows/git.git
synced 2026-06-27 22:28:38 -05:00
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>