]> git.ipfire.org Git - thirdparty/git.git/commit
builtin/repack.c: factor out "generated_pack_install"
authorTaylor Blau <me@ttaylorr.com>
Wed, 15 Oct 2025 22:28:20 +0000 (18:28 -0400)
committerJunio C Hamano <gitster@pobox.com>
Thu, 16 Oct 2025 17:08:54 +0000 (10:08 -0700)
commitc0427692cb0fe03eb32fffc5bd06fad4ee434561
tree0f38fc0d4940d0ae6d1fe19dec19451357156de4
parent2b72c1236725915b353b9740a27a32c107dfe3b0
builtin/repack.c: factor out "generated_pack_install"

Once all new packs are known to exist, 'repack' installs their contents
from their temporary location into their permanent one. This is a
semi-involved procedure for each pack, since for each extension (e.g.,
".idx", ".pack", ".mtimes", and so on) we have to either:

 - adjust the filemode of the temporary file before renaming it into
   place, or

 - die() if we are missing a non-optional extension, or

 - unlink() any existing file for extensions that we did not generate
   (e.g., if a non-cruft pack we generated was identical to, say, a
   cruft pack which existed at the beginning of the process, we have to
   remove the ".mtimes" file).

Extract this procedure into its own function, and call it
"generated_pack_install"(). This will set us up for pulling this
function out of the builtin entirely and making it part of the repack.h
API, which will be done in a future commit.

Signed-off-by: Taylor Blau <me@ttaylorr.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/repack.c