]> git.ipfire.org Git - thirdparty/git.git/commit
pack-write: refactor renaming in finish_tmp_packfile()
authorÆvar Arnfjörð Bjarmason <avarab@gmail.com>
Thu, 9 Sep 2021 23:24:37 +0000 (19:24 -0400)
committerJunio C Hamano <gitster@pobox.com>
Fri, 10 Sep 2021 01:23:11 +0000 (18:23 -0700)
commit66833f0e70c473ca6c4e6a79d34e879d8b40ba9d
treea6708df628cdb5a5a2a8b83867a7b2407501d916
parentae44b5a4f3b091bc77adc4a70e7bfefd569b78a8
pack-write: refactor renaming in finish_tmp_packfile()

Refactor the renaming in finish_tmp_packfile() into a helper function.
The callers are now expected to pass a "name_buffer" ending in
"pack-OID." instead of the previous "pack-", we then append "pack",
"idx" or "rev" to it.

By doing the strbuf_setlen() in rename_tmp_packfile() we reuse the
buffer and avoid the repeated allocations we'd get if that function had
its own temporary "struct strbuf".

This approach of reusing the buffer does make the last user in
pack-object.c's write_pack_file() slightly awkward, since we needlessly
do a strbuf_setlen() before calling strbuf_release() for consistency. In
subsequent changes we'll move that bitmap writing code around, so let's
not skip the strbuf_setlen() now.

The previous strbuf_reset() idiom originated with 5889271114a
(finish_tmp_packfile():use strbuf for pathname construction,
2014-03-03), which in turn was a minimal adjustment of pre-strbuf code
added in 0e990530ae (finish_tmp_packfile(): a helper function,
2011-10-28).

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Taylor Blau <me@ttaylorr.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/pack-objects.c
bulk-checkin.c
pack-write.c