(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:test_description)
          op: Equal
          rhs: {(SQ <'test fetching of oddly-named refs'>)}
          spids: [4]
        )
      ]
      spids: [4]
    )
    (C {(.)} {(./test-lib.sh)})
    (C {(test_expect_success)} {(SQ <'setup repo with odd suffix ref'>)} 
      {
        (SQ <'\n'> <'\techo content >file &&\n'> <'\tgit add . &&\n'> <'\tgit commit -m one &&\n'> 
          <'\tgit update-ref refs/for/refs/heads/master HEAD &&\n'> <'\techo content >>file &&\n'> <'\tgit commit -a -m two &&\n'> <'\techo content >>file &&\n'> 
          <'\tgit commit -a -m three &&\n'> <'\tgit checkout HEAD^\n'>
        )
      }
    )
    (C {(test_expect_success)} {(SQ <'suffix ref is ignored during fetch'>)} 
      {
        (SQ <'\n'> <'\tgit clone --bare file://"$PWD" suffix &&\n'> <'\techo three >expect &&\n'> 
          <'\tgit --git-dir=suffix log -1 --format=%s refs/heads/master >actual &&\n'> <'\ttest_cmp expect actual\n'>
        )
      }
    )
    (C {(test_expect_success)} {(SQ <'try to create repo with absurdly long refname'>)} 
      {
        (SQ <'\n'> <'\tref240=$_z40/$_z40/$_z40/$_z40/$_z40/$_z40 &&\n'> 
          <'\tref1440=$ref240/$ref240/$ref240/$ref240/$ref240/$ref240 &&\n'> <'\tgit init long &&\n'> <'\t(\n'> <'\t\tcd long &&\n'> <'\t\ttest_commit long &&\n'> 
          <'\t\ttest_commit master\n'> <'\t) &&\n'> <'\tif git -C long update-ref refs/heads/$ref1440 long; then\n'> 
          <'\t\ttest_set_prereq LONG_REF\n'> <'\telse\n'> <'\t\techo >&2 "long refs not supported"\n'> <'\tfi\n'>
        )
      }
    )
    (C {(test_expect_success)} {(LONG_REF)} {(SQ <'fetch handles extremely long refname'>)} 
      {
        (SQ <'\n'> <'\tgit fetch long refs/heads/*:refs/remotes/long/* &&\n'> 
          <'\tcat >expect <<-\\EOF &&\n'> <'\tlong\n'> <'\tmaster\n'> <'\tEOF\n'> 
          <'\tgit for-each-ref --format="%(subject)" refs/remotes/long >actual &&\n'> <'\ttest_cmp expect actual\n'>
        )
      }
    )
    (C {(test_expect_success)} {(LONG_REF)} {(SQ <'push handles extremely long refname'>)} 
      {
        (SQ <'\n'> <'\tgit push long :refs/heads/$ref1440 &&\n'> 
          <'\tgit -C long for-each-ref --format="%(subject)" refs/heads >actual &&\n'> <'\techo master >expect &&\n'> <'\ttest_cmp expect actual\n'>
        )
      }
    )
    (C {(test_done)})
  ]
)