This was discovered by one of my colleagues when using a partial clone. I thought I had resolved the problem with the commits mentioned in patch 1 (e70a3030e7 and ancestors), but apparently that is not the case (that only worked for native protocols). So here is a fix for HTTP. I'm not sure of the value of the test in patch 2, but that test does fail if I don't update fetch_refs_from_bundle() to first call get_refs_from_bundle() if it hasn't already been called. Jonathan Tan (2): transport-helper: skip ls-refs if unnecessary transport: teach all vtables to allow fetch first t/t5607-clone-bundle.sh | 11 +++++++++++ t/t5702-protocol-v2.sh | 13 +++++++++++++ transport-helper.c | 38 ++++++++++++++++++++++++++++++++------ transport-internal.h | 6 ------ transport.c | 18 ++++++------------ 5 files changed, 62 insertions(+), 24 deletions(-) -- 2.23.0.187.g17f5b7556c-goog