]> git.ipfire.org Git - thirdparty/git.git/commit
Close object store closer to spawning child processes
authorJohannes Schindelin <johannes.schindelin@gmx.de>
Thu, 9 Sep 2021 09:47:08 +0000 (09:47 +0000)
committerJunio C Hamano <gitster@pobox.com>
Thu, 9 Sep 2021 19:56:11 +0000 (12:56 -0700)
commitc4dee2c0851f3a6b202afd2c9d979ed417f4bcdc
tree26bb6f2a86a488dbd3e3c46ca7a34b449e5bc3f5
parent5a22a334cb757753230f1d73da36130513016830
Close object store closer to spawning child processes

In many cases where we spawned child processes that _may_ trigger a
repack, we explicitly closed the object store first (so that the
`repack` process can delete the `.pack` files, which would otherwise not
be possible on Windows since files cannot be deleted as long as they as
still in use).

Wherever possible, we now use the new `close_object_store` bit of the
`run_command()` API, to delay closing the object store even further.
This makes the code easier to maintain because it is now more obvious
that we only release those file handles because of those child
processes.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/gc.c
builtin/pull.c
builtin/receive-pack.c