(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)})
  ]
)