On 5/19/2020 2:31 PM, Jonathan Tan wrote: > 95acf11a3d ("diff: restrict when prefetching occurs", 2020-04-07) taught > diff to prefetch blobs in a more limited set of situations. These > limited situations include when the output format requires blob data, > and when inexact rename detection is needed. > > There is an existing test case that tests inexact rename detection, but > it also uses an output format that requires blob data, resulting in the > inexact-rename-detection-only code not being tested. Update this test to > use the raw output format, which does not require blob data. > > Thanks to Derrick Stolee for noticing this lapse in code coverage and > for doing the preliminary analysis [1]. > > [1] https://lore.kernel.org/git/853759d3-97c3-241f-98e1-990883cd204e@xxxxxxxxx/ > > Signed-off-by: Jonathan Tan <jonathantanmy@xxxxxxxxxx> > --- > Thanks, Stolee. Yes, we were never in a situation where there are any > missing objects at the point of inexact rename detection (despite having > a test exactly for this), but this situation is possible, and I've > updated the test so that we encounter this situation. Thanks for finding the test bug! > --- > t/t4067-diff-partial-clone.sh | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/t/t4067-diff-partial-clone.sh b/t/t4067-diff-partial-clone.sh > index c1ed1c2fc4..ef8e0e9cb0 100755 > --- a/t/t4067-diff-partial-clone.sh > +++ b/t/t4067-diff-partial-clone.sh > @@ -125,8 +125,8 @@ test_expect_success 'diff with rename detection batches blobs' ' > > # Ensure that there is exactly 1 negotiation by checking that there is > # only 1 "done" line sent. ("done" marks the end of negotiation.) > - GIT_TRACE_PACKET="$(pwd)/trace" git -C client diff -M HEAD^ HEAD >out && > - grep "similarity index" out && > + GIT_TRACE_PACKET="$(pwd)/trace" git -C client diff --raw -M HEAD^ HEAD >out && > + grep ":100644 100644.*R[0-9][0-9][0-9].*b.*c" out && --raw definitely does rename detection and I understand the need to adjust your grep command here. Thanks, -Stolee