> Hi Jonathan, > > On Mon, 16 Jul 2018, Jonathan Tan wrote: > > > t/t5552-skipping-fetch-negotiator.sh | 179 +++++++++++++++++++ > > This test seems to be failing consistently in the recent `pu` builds: > > https://git-for-windows.visualstudio.com/git/_build/results?buildId=14337&view=logs > > Could you have a look, please? Hmm...on my Linux computer, this test passes on both pu (as of the time of writing) and 838143aa5c ("Merge branch 'ab/newhash-is-sha256' into pu", 2018-07-25) (pu at the time of that build, according to the website you linked above). If you could rerun that test with additional code, could you add a "cat trace" and show me what the client sends? When I do that, the relevant parts are: packet: fetch> have 9ab46928dc282aa09f4dbf96893a252e058e7e8e packet: fetch> have dc824fafb05f3229aedf1f320bbe572e35364dfe packet: fetch> have caef059de69917b9119176a11b88afcef769331d packet: fetch> have 41bd8dc092ee110ba80e350a346ec507ab2e42a0 packet: fetch> have e9a2c092a8e911567a377c881a7f6031e7f892ea packet: fetch> done which is exactly as I (and the test) expect. Two possible reasons for the discrepancy that I can think of offhand are that (1) my computer generates different commits from your test system, and (2) the priority queue pops commits in a different order. For (1), that's not possible because the SHA-1s are the same (as can be seen by comparing your link and the "have" lines I quoted above), and for (2), the code seems OK: static int compare(const void *a_, const void *b_, void *unused) { const struct entry *a = a_; const struct entry *b = b_; return compare_commits_by_commit_date(a->commit, b->commit, NULL); } Let me know if you can observe the output of "cat trace" or if you have any other ideas.