summaryrefslogtreecommitdiff
path: root/hex.c
diff options
context:
space:
mode:
authorLibravatar Jonathan Tan <jonathantanmy@google.com>2018-06-06 13:47:08 -0700
committerLibravatar Junio C Hamano <gitster@pobox.com>2018-06-14 11:31:24 -0700
commitaf008558cc2e16c96ddafc6c7a9453ea3d18957b (patch)
tree037af2a90475bd599396667ea27bb7ebe72f9c4d /hex.c
parentfetch-pack: split up everything_local() (diff)
downloadtgif-af008558cc2e16c96ddafc6c7a9453ea3d18957b.tar.xz
fetch-pack: clear marks before re-marking
If tag following is required when using a transport that does not support tag following, fetch_pack() will be invoked twice in the same process, necessitating a clearing of the object flags used by fetch_pack() sometime during the second invocation. This is currently done in find_common(), which means that the invocation of mark_complete_and_common_ref() in do_fetch_pack() is useless. (This cannot be reproduced with Git alone, because all transports that come with Git support tag following.) Therefore, move this clearing from find_common() to its parent function do_fetch_pack(), right before it calls mark_complete_and_common_ref(). This has been occurring since the commit that introduced the clearing of marks, 420e9af498 ("Fix tag following", 2008-03-19). The corresponding code for protocol v2 in do_fetch_pack_v2() does not have this problem, as the clearing of flags is done before any marking (whether by rev_list_insert_ref_oid() or mark_complete_and_common_ref()). Signed-off-by: Jonathan Tan <jonathantanmy@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'hex.c')
0 files changed, 0 insertions, 0 deletions