summaryrefslogtreecommitdiff
path: root/builtin/repack.c
diff options
context:
space:
mode:
authorChristian Couder <christian.couder@gmail.com>2023-10-02 16:54:59 (GMT)
committerJunio C Hamano <gitster@pobox.com>2023-10-02 21:54:30 (GMT)
commitbe315e9a3fe070af60821f01c2bc508457d2c1b2 (patch)
treefba1527b503ab7f1766620e86333f9b1b680ec64 /builtin/repack.c
parentff8504e4ec5628edddb67f989256b7f2aea6c45d (diff)
downloadgit-be315e9a3fe070af60821f01c2bc508457d2c1b2.zip
git-be315e9a3fe070af60821f01c2bc508457d2c1b2.tar.gz
git-be315e9a3fe070af60821f01c2bc508457d2c1b2.tar.bz2
repack: refactor finding pack prefix
Create a new find_pack_prefix() to refactor code that handles finding the pack prefix from the packtmp and packdir global variables, as we are going to need this feature again in following commit. Signed-off-by: Christian Couder <chriscool@tuxfamily.org Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin/repack.c')
-rw-r--r--builtin/repack.c18
1 files changed, 12 insertions, 6 deletions
diff --git a/builtin/repack.c b/builtin/repack.c
index d0ab55c..9ef0044 100644
--- a/builtin/repack.c
+++ b/builtin/repack.c
@@ -893,6 +893,17 @@ static int write_cruft_pack(const struct pack_objects_args *args,
return finish_pack_objects_cmd(&cmd, names, local);
}
+static const char *find_pack_prefix(const char *packdir, const char *packtmp)
+{
+ const char *pack_prefix;
+ if (!skip_prefix(packtmp, packdir, &pack_prefix))
+ die(_("pack prefix %s does not begin with objdir %s"),
+ packtmp, packdir);
+ if (*pack_prefix == '/')
+ pack_prefix++;
+ return pack_prefix;
+}
+
int cmd_repack(int argc, const char **argv, const char *prefix)
{
struct child_process cmd = CHILD_PROCESS_INIT;
@@ -1139,12 +1150,7 @@ int cmd_repack(int argc, const char **argv, const char *prefix)
printf_ln(_("Nothing new to pack."));
if (pack_everything & PACK_CRUFT) {
- const char *pack_prefix;
- if (!skip_prefix(packtmp, packdir, &pack_prefix))
- die(_("pack prefix %s does not begin with objdir %s"),
- packtmp, packdir);
- if (*pack_prefix == '/')
- pack_prefix++;
+ const char *pack_prefix = find_pack_prefix(packdir, packtmp);
if (!cruft_po_args.window)
cruft_po_args.window = po_args.window;