From 1cec8c634fb76ecee862ff88066f55b63b7d5ff7 Mon Sep 17 00:00:00 2001 From: Jeff King Date: Thu, 16 Mar 2017 10:27:06 -0400 Subject: sha1_file.c: make pack-name helper globally accessible We provide sha1_pack_name() and sha1_pack_index_name(), but the more generic form (which takes its own strbuf and an arbitrary extension) is only used to implement the other two. Let's make it available, but clean up a few things: 1. Name it odb_pack_name(), as the original sha1_get_pack_name() is long but not all that descriptive. 2. Switch the strbuf argument to the beginning, so that it matches similar path-building functions like git_path_buf(). 3. Clean up the out-dated docstring and move it to the public declaration. Signed-off-by: Jeff King Signed-off-by: Junio C Hamano --- cache.h | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'cache.h') diff --git a/cache.h b/cache.h index 8b7b008704..baba4fe541 100644 --- a/cache.h +++ b/cache.h @@ -1568,6 +1568,15 @@ extern void pack_report(void); */ extern int odb_mkstemp(char *template, size_t limit, const char *pattern); +/* + * Generate the filename to be used for a pack file with checksum "sha1" and + * extension "ext". The result is written into the strbuf "buf", overwriting + * any existing contents. A pointer to buf->buf is returned as a convenience. + * + * Example: odb_pack_name(out, sha1, "idx") => ".git/objects/pack/pack-1234..idx" + */ +extern char *odb_pack_name(struct strbuf *buf, const unsigned char *sha1, const char *ext); + /* * Create a pack .keep file in the object database's pack directory, for * a pack with checksum "sha1". The return value is a file descriptor opened -- cgit v1.2.1