This implements the API enhancements suggested in https://lore.kernel.org/git/xmqqh7eu3mjb.fsf@gitster.g: we introduce a way to let run_command() handle the releasing of the file handles to the object store. It should make the code easier to work with in the future because it will be more obvious how to support Windows better when copy/editing code. Johannes Schindelin (4): run-command: prettify the `RUN_COMMAND_*` flags run-command: offer to close the object store before running run_auto_maintenance(): implicitly close the object store Close object store closer to spawning child processes builtin/am.c | 1 - builtin/fetch.c | 2 -- builtin/gc.c | 18 ++++++------------ builtin/merge.c | 1 - builtin/pull.c | 3 +-- builtin/rebase.c | 1 - builtin/receive-pack.c | 3 +-- run-command.c | 6 ++++++ run-command.h | 23 ++++++++++++++++------- 9 files changed, 30 insertions(+), 28 deletions(-) base-commit: 7e44ff7a3983ad0c7be5c9edcfea2e8355ce9a65 Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-1035%2Fdscho%2Fclose-object-store-in-run-command-v1 Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-1035/dscho/close-object-store-in-run-command-v1 Pull-Request: https://github.com/gitgitgadget/git/pull/1035 -- gitgitgadget