Jonathan Tan <jonathantanmy@xxxxxxxxxx> writes: >> +test_expect_success 'LHS of refspec follows ref disambiguation rules' ' >> + mkdir lhs-ambiguous && >> + ( >> + cd lhs-ambiguous && >> + git init server && >> + test_commit -C server unwanted && >> + test_commit -C server wanted && >> + >> + git init client && >> + >> + # Check a name coming after "refs" alphabetically ... >> + git -C server update-ref refs/heads/s wanted && >> + git -C server update-ref refs/heads/refs/heads/s unwanted && >> + git -C client fetch ../server +refs/heads/s:refs/heads/checkthis && >> + git -C server rev-parse wanted >expect && >> + git -C client rev-parse checkthis >actual && >> + test_cmp expect actual && >> + >> + # ... and one before. >> + git -C server update-ref refs/heads/q wanted && >> + git -C server update-ref refs/heads/refs/heads/q unwanted && >> + git -C client fetch ../server +refs/heads/q:refs/heads/checkthis && >> + git -C server rev-parse wanted >expect && >> + git -C client rev-parse checkthis >actual && >> + test_cmp expect actual && >> + >> + # Tags are preferred over branches like refs/{heads,tags}/* >> + git -C server update-ref refs/tags/t wanted && >> + git -C server update-ref refs/heads/t unwanted && >> + git -C client fetch ../server +t:refs/heads/checkthis && >> + git -C server rev-parse wanted >expect && >> + git -C client rev-parse checkthis >actual >> + ) >> +' > > Thanks, this looks good to me. Also thanks for adding the "+" in the > fetch commands in the test. Yup, otherwise the fetch may fail because "checkthis" may have to be rewound when we fetch different things.