(command.CommandList children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:test_description) op: assign_op.Equal rhs: {(SQ (Token id:Id.Lit_Chars val:'test fetching of oddly-named refs' span_id:6))} spids: [4] ) ] ) (C {(.)} {(./test-lib.sh)}) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'setup repo with odd suffix ref' span_id:29))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:33) (Token id:Id.Lit_Chars val:'\techo content >file &&\n' span_id:34) (Token id:Id.Lit_Chars val:'\tgit add . &&\n' span_id:35) (Token id:Id.Lit_Chars val:'\tgit commit -m one &&\n' span_id:36) (Token id:Id.Lit_Chars val:'\tgit update-ref refs/for/refs/heads/master HEAD &&\n' span_id:37) (Token id:Id.Lit_Chars val:'\techo content >>file &&\n' span_id:38) (Token id:Id.Lit_Chars val:'\tgit commit -a -m two &&\n' span_id:39) (Token id:Id.Lit_Chars val:'\techo content >>file &&\n' span_id:40) (Token id:Id.Lit_Chars val:'\tgit commit -a -m three &&\n' span_id:41) (Token id:Id.Lit_Chars val:'\tgit checkout HEAD^\n' span_id:42) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'suffix ref is ignored during fetch' span_id:49))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:53) (Token id: Id.Lit_Chars val: '\tgit clone --bare file://"$PWD" suffix &&\n' span_id: 54 ) (Token id:Id.Lit_Chars val:'\techo three >expect &&\n' span_id:55) (Token id: Id.Lit_Chars val: '\tgit --git-dir=suffix log -1 --format=%s refs/heads/master >actual &&\n' span_id: 56 ) (Token id:Id.Lit_Chars val:'\ttest_cmp expect actual\n' span_id:57) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'try to create repo with absurdly long refname' span_id:64))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:68) (Token id: Id.Lit_Chars val: '\tref240=$_z40/$_z40/$_z40/$_z40/$_z40/$_z40 &&\n' span_id: 69 ) (Token id: Id.Lit_Chars val: '\tref1440=$ref240/$ref240/$ref240/$ref240/$ref240/$ref240 &&\n' span_id: 70 ) (Token id:Id.Lit_Chars val:'\tgit init long &&\n' span_id:71) (Token id:Id.Lit_Chars val:'\t(\n' span_id:72) (Token id:Id.Lit_Chars val:'\t\tcd long &&\n' span_id:73) (Token id:Id.Lit_Chars val:'\t\ttest_commit long &&\n' span_id:74) (Token id:Id.Lit_Chars val:'\t\ttest_commit master\n' span_id:75) (Token id:Id.Lit_Chars val:'\t) &&\n' span_id:76) (Token id:Id.Lit_Chars val:'\tif git -C long update-ref refs/heads/$ref1440 long; then\n' span_id:77) (Token id:Id.Lit_Chars val:'\t\ttest_set_prereq LONG_REF\n' span_id:78) (Token id:Id.Lit_Chars val:'\telse\n' span_id:79) (Token id:Id.Lit_Chars val:'\t\techo >&2 "long refs not supported"\n' span_id:80) (Token id:Id.Lit_Chars val:'\tfi\n' span_id:81) ) } ) (C {(test_expect_success)} {(LONG_REF)} {(SQ (Token id:Id.Lit_Chars val:'fetch handles extremely long refname' span_id:90))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:94) (Token id: Id.Lit_Chars val: '\tgit fetch long refs/heads/*:refs/remotes/long/* &&\n' span_id: 95 ) (Token id:Id.Lit_Chars val:'\tcat >expect <<-\\EOF &&\n' span_id:96) (Token id:Id.Lit_Chars val:'\tlong\n' span_id:97) (Token id:Id.Lit_Chars val:'\tmaster\n' span_id:98) (Token id:Id.Lit_Chars val:'\tEOF\n' span_id:99) (Token id: Id.Lit_Chars val: '\tgit for-each-ref --format="%(subject)" refs/remotes/long >actual &&\n' span_id: 100 ) (Token id:Id.Lit_Chars val:'\ttest_cmp expect actual\n' span_id:101) ) } ) (C {(test_expect_success)} {(LONG_REF)} {(SQ (Token id:Id.Lit_Chars val:'push handles extremely long refname' span_id:110))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:114) (Token id: Id.Lit_Chars val: '\tgit push long :refs/heads/$ref1440 &&\n' span_id: 115 ) (Token id: Id.Lit_Chars val: '\tgit -C long for-each-ref --format="%(subject)" refs/heads >actual &&\n' span_id: 116 ) (Token id:Id.Lit_Chars val:'\techo master >expect &&\n' span_id:117) (Token id:Id.Lit_Chars val:'\ttest_cmp expect actual\n' span_id:118) ) } ) (C {(test_done)}) ] )