packfile: drop sha1_pack_name()

The sha1_pack_name() function has a few ugly bits: - it writes into a static strbuf (and not even a ring buffer of them), which can lead to subtle invalidation problems - it uses the term "sha1", but it's really using the_hash_algo, which could be sha256 There's only one caller of it left. And in fact that caller is better off using the underlying odb_pack_name() function itself, since it's just copying the result into its own strbuf anyway. Converting that caller lets us get rid of this now-obselete function. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Taylor Blau <me@ttaylorr.com>

Jeff King committed Oct 25, 2024 at 03:00 UTC c2dc4c9fbb1f119be6ab55ff8676bf18b4b9446a
3 files changed +2 -14
http.c
+2 -1
@@ -2579,7 +2579,8 @@ struct http_pack_request *new_direct_http_pack_request(
2579
2580 preq->url = url;
2581
2582 - strbuf_addf(&preq->tmpfile, "%s.temp", sha1_pack_name(packed_git_hash));
2582 + odb_pack_name(&preq->tmpfile, packed_git_hash, "pack");
2583 + strbuf_addstr(&preq->tmpfile, ".temp");
2584 preq->packfile = fopen(preq->tmpfile.buf, "a");
2585 if (!preq->packfile) {
2586 error("Unable to open local file %s for pack",
packfile.c
-6
@@ -35,12 +35,6 @@ char *odb_pack_name(struct strbuf *buf,
35 return buf->buf;
36 }
37
38 -char *sha1_pack_name(const unsigned char *sha1)
39 -{
40 - static struct strbuf buf = STRBUF_INIT;
41 - return odb_pack_name(&buf, sha1, "pack");
42 -}
43 -
38 char *sha1_pack_index_name(const unsigned char *sha1)
39 {
40 static struct strbuf buf = STRBUF_INIT;
packfile.h
-7
@@ -31,13 +31,6 @@ struct pack_entry {
31 */
32 char *odb_pack_name(struct strbuf *buf, const unsigned char *sha1, const char *ext);
33
34 -/*
35 - * Return the name of the (local) packfile with the specified sha1 in
36 - * its name. The return value is a pointer to memory that is
37 - * overwritten each time this function is called.
38 - */
39 -char *sha1_pack_name(const unsigned char *sha1);
40 -
34 /*
35 * Return the name of the (local) pack index file with the specified
36 * sha1 in its name. The return value is a pointer to memory that is