aboutsummaryrefslogtreecommitdiff
path: root/builtin
diff options
context:
space:
mode:
authorTaylor Blau <me@ttaylorr.com>2025-10-15 18:28:29 -0400
committerJunio C Hamano <gitster@pobox.com>2025-10-16 10:08:55 -0700
commitf053ab6c2be6a9869cbdfaabe5bd844a2471f8b7 (patch)
treea56ea634a44983d69a4f3752c7b2f4072b94e81e /builtin
parent7036d131ae514f1bc854670a9d26b31064fcd88d (diff)
downloadgit-f053ab6c2be6a9869cbdfaabe5bd844a2471f8b7.tar.xz
repack: remove 'generated_pack' API from the builtin
Now that we have factored the "generated_pack" API, we can move it to repack.ch, further slimming down builtin/repack.c. Signed-off-by: Taylor Blau <me@ttaylorr.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin')
-rw-r--r--builtin/repack.c83
1 files changed, 0 insertions, 83 deletions
diff --git a/builtin/repack.c b/builtin/repack.c
index 966db27613..0e11c3b2c9 100644
--- a/builtin/repack.c
+++ b/builtin/repack.c
@@ -134,89 +134,6 @@ static int write_oid(const struct object_id *oid,
return 0;
}
-static struct {
- const char *name;
- unsigned optional:1;
-} exts[] = {
- {".pack"},
- {".rev", 1},
- {".mtimes", 1},
- {".bitmap", 1},
- {".promisor", 1},
- {".idx"},
-};
-
-struct generated_pack {
- struct tempfile *tempfiles[ARRAY_SIZE(exts)];
-};
-
-static struct generated_pack *generated_pack_populate(const char *name,
- const char *packtmp)
-{
- struct stat statbuf;
- struct strbuf path = STRBUF_INIT;
- struct generated_pack *pack = xcalloc(1, sizeof(*pack));
- int i;
-
- for (i = 0; i < ARRAY_SIZE(exts); i++) {
- strbuf_reset(&path);
- strbuf_addf(&path, "%s-%s%s", packtmp, name, exts[i].name);
-
- if (stat(path.buf, &statbuf))
- continue;
-
- pack->tempfiles[i] = register_tempfile(path.buf);
- }
-
- strbuf_release(&path);
- return pack;
-}
-
-static int generated_pack_has_ext(const struct generated_pack *pack,
- const char *ext)
-{
- int i;
- for (i = 0; i < ARRAY_SIZE(exts); i++) {
- if (strcmp(exts[i].name, ext))
- continue;
- return !!pack->tempfiles[i];
- }
- BUG("unknown pack extension: '%s'", ext);
-}
-
-static void generated_pack_install(struct generated_pack *pack,
- const char *name,
- const char *packdir, const char *packtmp)
-{
- int ext;
- for (ext = 0; ext < ARRAY_SIZE(exts); ext++) {
- char *fname;
-
- fname = mkpathdup("%s/pack-%s%s", packdir, name,
- exts[ext].name);
-
- if (pack->tempfiles[ext]) {
- const char *fname_old = get_tempfile_path(pack->tempfiles[ext]);
- struct stat statbuffer;
-
- if (!stat(fname_old, &statbuffer)) {
- statbuffer.st_mode &= ~(S_IWUSR | S_IWGRP | S_IWOTH);
- chmod(fname_old, statbuffer.st_mode);
- }
-
- if (rename_tempfile(&pack->tempfiles[ext], fname))
- die_errno(_("renaming pack to '%s' failed"),
- fname);
- } else if (!exts[ext].optional)
- die(_("pack-objects did not write a '%s' file for pack %s-%s"),
- exts[ext].name, packtmp, name);
- else if (unlink(fname) < 0 && errno != ENOENT)
- die_errno(_("could not unlink: %s"), fname);
-
- free(fname);
- }
-}
-
static void repack_promisor_objects(struct repository *repo,
const struct pack_objects_args *args,
struct string_list *names)