MCPcopy Create free account
hub / github.com/git/git / pack_geometry_repack_promisors

Function pack_geometry_repack_promisors

repack-promisor.c:113–139  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

111}
112
113void pack_geometry_repack_promisors(struct repository *repo,
114 const struct pack_objects_args *args,
115 const struct pack_geometry *geometry,
116 struct string_list *names,
117 const char *packtmp)
118{
119 struct child_process cmd = CHILD_PROCESS_INIT;
120 FILE *in;
121
122 if (!geometry->promisor_split)
123 return;
124
125 prepare_pack_objects(&cmd, args, packtmp);
126 strvec_push(&cmd.args, "--stdin-packs");
127 cmd.in = -1;
128 if (start_command(&cmd))
129 die(_("could not start pack-objects to repack promisor packs"));
130
131 in = xfdopen(cmd.in, "w");
132 for (size_t i = 0; i < geometry->promisor_split; i++)
133 fprintf(in, "%s\n", pack_basename(geometry->promisor_pack[i]));
134 for (size_t i = geometry->promisor_split; i < geometry->promisor_pack_nr; i++)
135 fprintf(in, "^%s\n", pack_basename(geometry->promisor_pack[i]));
136 fclose(in);
137
138 finish_repacking_promisor_objects(repo, &cmd, names, packtmp);
139}

Callers 1

cmd_repackFunction · 0.85

Calls 7

prepare_pack_objectsFunction · 0.85
strvec_pushFunction · 0.85
start_commandFunction · 0.85
xfdopenFunction · 0.85
pack_basenameFunction · 0.85
dieFunction · 0.70

Tested by

no test coverage detected