Jonathan Tan <jonathantanmy@xxxxxxxxxx> writes: > Thanks, everyone, for your review. > > New in v2: > - added restriction on fetching rename_src's blob, following Stolee's > comment > - folded oid_nr==0 check into promisor_remote_get_direct(), following > Stolee's comment > - used "mv server/b server/c", following Stolee's comment > - made diff_add_if_missing() public function, following Junio's comment > > I didn't change the "continue" part that Stolee suggested [1]. > > [1] https://lore.kernel.org/git/xmqqlfng75cl.fsf@xxxxxxxxxxxxxxxxxxxxxx/ > > Jonathan Tan (2): > promisor-remote: accept 0 as oid_nr in function > diff: restrict when prefetching occurs > > builtin/index-pack.c | 5 ++-- > diff.c | 49 +++++++++++++++++++++++------------ > diffcore-rename.c | 37 +++++++++++++++++++++++++- > diffcore.h | 10 ++++++- > promisor-remote.c | 3 +++ > promisor-remote.h | 8 ++++++ > t/t4067-diff-partial-clone.sh | 48 ++++++++++++++++++++++++++++++++++ > unpack-trees.c | 5 ++-- > 8 files changed, 141 insertions(+), 24 deletions(-) I notice that a439b4ef (diff: skip batch object download when possible, 2020-03-30) by Garima seems to aim for something similar. I'll for now keep both topics with conflict resolution, but it may make sense for you two to compare notes. I especially like the way this series enumerates the formats that matter to prefetching and the way the change is localized in diffcore_std(); the other topic splits a similar logic (with different criteria) between diff_setup_done() and diffcore_std(), which I found suboptimal. Thanks.