On Tue, Apr 06, 2021 at 06:47:49PM +0000, Derrick Stolee via GitGitGadget wrote: > diff --git a/t/t5511-refspec.sh b/t/t5511-refspec.sh > index be025b90f989..489bec08d570 100755 > --- a/t/t5511-refspec.sh > +++ b/t/t5511-refspec.sh > @@ -93,4 +93,45 @@ test_refspec fetch "refs/heads/${good}" > bad=$(printf '\011tab') > test_refspec fetch "refs/heads/${bad}" invalid > > +test_expect_success 'test input/output round trip' ' > + cat >input <<-\EOF && > + +refs/heads/*:refs/remotes/origin/* > + refs/heads/*:refs/remotes/origin/* > + refs/heads/main:refs/remotes/frotz/xyzzy > + :refs/remotes/frotz/deleteme > + ^refs/heads/secrets > + refs/heads/secret:refs/heads/translated > + refs/heads/secret:heads/translated > + refs/heads/secret:remotes/translated > + secret:translated > + refs/heads/*:remotes/xxy/* > + refs/heads*/for-linus:refs/remotes/mine/* > + 2e36527f23b7f6ae15e6f21ac3b08bf3fed6ee48:refs/heads/fixed > + HEAD > + @ > + : > + EOF > + cat >expect <<-\EOF && > + +refs/heads/*:refs/remotes/origin/* > + refs/heads/*:refs/remotes/origin/* > + refs/heads/main:refs/remotes/frotz/xyzzy > + :refs/remotes/frotz/deleteme > + ^refs/heads/secrets > + refs/heads/secret:refs/heads/translated > + refs/heads/secret:heads/translated > + refs/heads/secret:remotes/translated > + secret:translated > + refs/heads/*:remotes/xxy/* > + refs/heads*/for-linus:refs/remotes/mine/* > + 2e36527f23b7f6ae15e6f21ac3b08bf3fed6ee48:refs/heads/fixed > + HEAD > + HEAD > + : > + EOF I don't like these expect/actual here. They are almost entirely identical, which means that the reader either A) spends a toilsome few minutes checking every single line to be sure they are not identical, or B) reads the first three lines, decides they're the same, and misses the @->HEAD special case. Why not instead run the test once for all the lines which should be the same before and after the parse, and again for all the lines which should differ, to reduce burden on the reader? - Emily