fetch-pack: call prepare_shallow_info only if v0
In fetch_pack(), be clearer that there is no shallow information before the fetch when v2 is used - memset the struct shallow_info to 0 instead of calling prepare_shallow_info(). This patch is in preparation for a future patch in which a v2 fetch might call prepare_shallow_info() after shallow info has been retrieved during the fetch, so I needed to ensure that prepare_shallow_info() is not called before the fetch. Signed-off-by: Jonathan Tan <jonathantanmy@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:

committed by
Junio C Hamano

parent
a51423bc68
commit
1e7d440b0a
10
fetch-pack.c
10
fetch-pack.c
@ -1648,13 +1648,17 @@ struct ref *fetch_pack(struct fetch_pack_args *args,
|
||||
packet_flush(fd[1]);
|
||||
die(_("no matching remote head"));
|
||||
}
|
||||
prepare_shallow_info(&si, shallow);
|
||||
if (version == protocol_v2)
|
||||
if (version == protocol_v2) {
|
||||
if (shallow->nr)
|
||||
BUG("Protocol V2 does not provide shallows at this point in the fetch");
|
||||
memset(&si, 0, sizeof(si));
|
||||
ref_cpy = do_fetch_pack_v2(args, fd, ref, sought, nr_sought,
|
||||
pack_lockfile);
|
||||
else
|
||||
} else {
|
||||
prepare_shallow_info(&si, shallow);
|
||||
ref_cpy = do_fetch_pack(args, fd, ref, sought, nr_sought,
|
||||
&si, pack_lockfile);
|
||||
}
|
||||
reprepare_packed_git(the_repository);
|
||||
|
||||
if (!args->cloning && args->deepen) {
|
||||
|
Reference in New Issue
Block a user