From: Jonathan Nieder Date: Sun, 26 Apr 2020 01:10:44 GMT Subject: Re: [PATCH 2/2] fetch-pack: in protocol v2, reset in_vain upon ACK Message-ID: <20200426011044.GF877@gmail.com> In-Reply-To: <8499d5268e49b6b823b0b9312d77e41e311d9a75.1587775989.git.jonathantanmy@google.com> Jonathan Tan wrote: > --- a/t/t5500-fetch-pack.sh > +++ b/t/t5500-fetch-pack.sh > @@ -404,6 +404,36 @@ test_expect_success 'in_vain not triggered before first ACK' ' > test_i18ngrep "Total 3 " trace > ' > > +test_expect_success 'in_vain resetted upon ACK' ' > + rm -rf myserver myclient trace && > + git init myserver && > + > + # Linked list of commits on master. The first is common; the rest are > + # not. > + test_commit -C myserver first_master_commit && > + git clone "file://$(pwd)/myserver" myclient && > + test_commit_bulk -C myclient 255 && > + > + # Another linked list of commits on anotherbranch with no connection to > + # master. The first is common; the rest are not. > + git -C myserver checkout --orphan anotherbranch && > + test_commit -C myserver first_anotherbranch_commit && > + git -C myclient fetch origin anotherbranch:refs/heads/anotherbranch && > + git -C myclient checkout anotherbranch && > + test_commit_bulk -C myclient 255 && > + > + # The new commit that the client wants to fetch. > + git -C myserver checkout master && > + test_commit -C myserver to_fetch && > + > + # The client will send (as "have"s) all 256 commits in anotherbranch > + # first. The 256th commit is common between the client and the server, > + # and should reset in_vain. This allows negotiation to continue until > + # the client reports that first_anotherbranch_commit is common. > + GIT_TRACE_PACKET="$(pwd)/trace" git -C myclient fetch --progress origin master && > + test_i18ngrep "Total 3 " trace Reviewed-by: Jonathan Nieder Thanks. As with the other patch, trace2 output from the server might be more stable. Do these tests pass with protocol v0 as well? (Forgive my laziness in not checking yet.)