refs = fetch_pack(&args, data->fd,
refs_tmp ? refs_tmp : transport->remote_refs,
to_fetch, nr_heads, &data->shallow,
- &transport->pack_lockfile, data->version);
+ &transport->pack_lockfiles, data->version);
close(data->fd[0]);
close(data->fd[1]);
struct transport *ret = xcalloc(1, sizeof(*ret));
ret->progress = isatty(2);
+ string_list_init(&ret->pack_lockfiles, 1);
if (!remote)
BUG("No remote provided to transport_get()");
void transport_unlock_pack(struct transport *transport)
{
- if (transport->pack_lockfile) {
- unlink_or_warn(transport->pack_lockfile);
- FREE_AND_NULL(transport->pack_lockfile);
- }
+ int i;
+
+ for (i = 0; i < transport->pack_lockfiles.nr; i++)
+ unlink_or_warn(transport->pack_lockfiles.items[i].string);
+ string_list_clear(&transport->pack_lockfiles, 0);
}
int transport_connect(struct transport *transport, const char *name,