(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 that git handles an svn repository with empty symlinks'
                  span_id: 6
                )
              )
            }
          spids: [4]
        )
      ]
    )
    (C {(.)} {(./lib-git-svn.sh)})
    (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'load svn dumpfile' span_id:17))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:21) 
          (Token id:Id.Lit_Chars val:'\tsvnadmin load "$rawsvnrepo" <<EOF\n' span_id:22) (Token id:Id.Lit_Chars val:'SVN-fs-dump-format-version: 2\n' span_id:23) 
          (Token id:Id.Lit_Chars val:'\n' span_id:24) (Token id:Id.Lit_Chars val:'UUID: 60780f9a-7df5-43b4-83ab-60e2c0673ef7\n' span_id:25) 
          (Token id:Id.Lit_Chars val:'\n' span_id:26) (Token id:Id.Lit_Chars val:'Revision-number: 0\n' span_id:27) 
          (Token id:Id.Lit_Chars val:'Prop-content-length: 56\n' span_id:28) (Token id:Id.Lit_Chars val:'Content-length: 56\n' span_id:29) 
          (Token id:Id.Lit_Chars val:'\n' span_id:30) (Token id:Id.Lit_Chars val:'K 8\n' span_id:31) (Token id:Id.Lit_Chars val:'svn:date\n' span_id:32) 
          (Token id:Id.Lit_Chars val:'V 27\n' span_id:33) (Token id:Id.Lit_Chars val:'2008-11-26T07:17:27.590577Z\n' span_id:34) 
          (Token id:Id.Lit_Chars val:'PROPS-END\n' span_id:35) (Token id:Id.Lit_Chars val:'\n' span_id:36) 
          (Token id:Id.Lit_Chars val:'Revision-number: 1\n' span_id:37) (Token id:Id.Lit_Chars val:'Prop-content-length: 111\n' span_id:38) 
          (Token id:Id.Lit_Chars val:'Content-length: 111\n' span_id:39) (Token id:Id.Lit_Chars val:'\n' span_id:40) (Token id:Id.Lit_Chars val:'K 7\n' span_id:41) 
          (Token id:Id.Lit_Chars val:'svn:log\n' span_id:42) (Token id:Id.Lit_Chars val:'V 4\n' span_id:43) (Token id:Id.Lit_Chars val:'test\n' span_id:44) 
          (Token id:Id.Lit_Chars val:'K 10\n' span_id:45) (Token id:Id.Lit_Chars val:'svn:author\n' span_id:46) (Token id:Id.Lit_Chars val:'V 12\n' span_id:47) 
          (Token id:Id.Lit_Chars val:'normalperson\n' span_id:48) (Token id:Id.Lit_Chars val:'K 8\n' span_id:49) (Token id:Id.Lit_Chars val:'svn:date\n' span_id:50) 
          (Token id:Id.Lit_Chars val:'V 27\n' span_id:51) (Token id:Id.Lit_Chars val:'2008-11-26T07:18:03.511836Z\n' span_id:52) 
          (Token id:Id.Lit_Chars val:'PROPS-END\n' span_id:53) (Token id:Id.Lit_Chars val:'\n' span_id:54) (Token id:Id.Lit_Chars val:'Node-path: bar\n' span_id:55) 
          (Token id:Id.Lit_Chars val:'Node-kind: file\n' span_id:56) (Token id:Id.Lit_Chars val:'Node-action: add\n' span_id:57) 
          (Token id:Id.Lit_Chars val:'Prop-content-length: 33\n' span_id:58) (Token id:Id.Lit_Chars val:'Text-content-length: 0\n' span_id:59) 
          (Token
            id: Id.Lit_Chars
            val: 'Text-content-md5: d41d8cd98f00b204e9800998ecf8427e\n'
            span_id: 60
          ) (Token id:Id.Lit_Chars val:'Content-length: 33\n' span_id:61) 
          (Token id:Id.Lit_Chars val:'\n' span_id:62) (Token id:Id.Lit_Chars val:'K 11\n' span_id:63) (Token id:Id.Lit_Chars val:'svn:special\n' span_id:64) 
          (Token id:Id.Lit_Chars val:'V 1\n' span_id:65) (Token id:Id.Lit_Chars val:'*\n' span_id:66) (Token id:Id.Lit_Chars val:'PROPS-END\n' span_id:67) 
          (Token id:Id.Lit_Chars val:'\n' span_id:68) (Token id:Id.Lit_Chars val:'Revision-number: 2\n' span_id:69) 
          (Token id:Id.Lit_Chars val:'Prop-content-length: 121\n' span_id:70) (Token id:Id.Lit_Chars val:'Content-length: 121\n' span_id:71) 
          (Token id:Id.Lit_Chars val:'\n' span_id:72) (Token id:Id.Lit_Chars val:'K 7\n' span_id:73) (Token id:Id.Lit_Chars val:'svn:log\n' span_id:74) 
          (Token id:Id.Lit_Chars val:'V 13\n' span_id:75) (Token id:Id.Lit_Chars val:'bar => doink\n' span_id:76) (Token id:Id.Lit_Chars val:'\n' span_id:77) 
          (Token id:Id.Lit_Chars val:'K 10\n' span_id:78) (Token id:Id.Lit_Chars val:'svn:author\n' span_id:79) (Token id:Id.Lit_Chars val:'V 12\n' span_id:80) 
          (Token id:Id.Lit_Chars val:'normalperson\n' span_id:81) (Token id:Id.Lit_Chars val:'K 8\n' span_id:82) (Token id:Id.Lit_Chars val:'svn:date\n' span_id:83) 
          (Token id:Id.Lit_Chars val:'V 27\n' span_id:84) (Token id:Id.Lit_Chars val:'2008-11-27T03:55:31.601672Z\n' span_id:85) 
          (Token id:Id.Lit_Chars val:'PROPS-END\n' span_id:86) (Token id:Id.Lit_Chars val:'\n' span_id:87) (Token id:Id.Lit_Chars val:'Node-path: bar\n' span_id:88) 
          (Token id:Id.Lit_Chars val:'Node-kind: file\n' span_id:89) (Token id:Id.Lit_Chars val:'Node-action: change\n' span_id:90) 
          (Token id:Id.Lit_Chars val:'Text-content-length: 10\n' span_id:91) (Token id:Id.Lit_Chars val:'Text-content-md5: 92ca4fe7a9721f877f765c252dcd66c9\n' span_id:92) 
          (Token id:Id.Lit_Chars val:'Content-length: 10\n' span_id:93) (Token id:Id.Lit_Chars val:'\n' span_id:94) (Token id:Id.Lit_Chars val:'link doink\n' span_id:95) 
          (Token id:Id.Lit_Chars val:'\n' span_id:96) (Token id:Id.Lit_Chars val:'EOF\n' span_id:97)
        )
      }
    )
    (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'clone using git svn' span_id:104))} 
      {(SQ (Token id:Id.Lit_Chars val:'git svn clone -r1 "$svnrepo" x' span_id:108))}
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'enable broken symlink workaround' span_id:114))} {(SQ (Token id:Id.Lit_Chars val:'(cd x && git config svn.brokenSymlinkWorkaround true)' span_id:120))}
    )
    (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'"bar" is an empty file' span_id:126))} 
      {(SQ (Token id:Id.Lit_Chars val:'test -f x/bar && ! test -s x/bar' span_id:130))}
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'get "bar" => symlink fix from svn' span_id:136))} {(SQ (Token id:Id.Lit_Chars val:'(cd x && git svn rebase)' span_id:142))}
    )
    (C {(test_expect_success)} {(SYMLINKS)} 
      {(SQ (Token id:Id.Lit_Chars val:'"bar" becomes a symlink' span_id:150))} {(SQ (Token id:Id.Lit_Chars val:'test -h x/bar' span_id:154))}
    )
    (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'clone using git svn' span_id:162))} 
      {(SQ (Token id:Id.Lit_Chars val:'git svn clone -r1 "$svnrepo" y' span_id:166))}
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'disable broken symlink workaround' span_id:172))} {(SQ (Token id:Id.Lit_Chars val:'(cd y && git config svn.brokenSymlinkWorkaround false)' span_id:178))}
    )
    (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'"bar" is an empty file' span_id:184))} 
      {(SQ (Token id:Id.Lit_Chars val:'test -f y/bar && ! test -s y/bar' span_id:188))}
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'get "bar" => symlink fix from svn' span_id:194))} {(SQ (Token id:Id.Lit_Chars val:'(cd y && git svn rebase)' span_id:200))}
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'"bar" does not become a symlink' span_id:206))} {(SQ (Token id:Id.Lit_Chars val:'! test -L y/bar' span_id:210))}
    )
    (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'clone using git svn' span_id:220))} 
      {(SQ (Token id:Id.Lit_Chars val:'git svn clone -r1 "$svnrepo" z' span_id:224))}
    )
    (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'"bar" is an empty file' span_id:230))} 
      {(SQ (Token id:Id.Lit_Chars val:'test -f z/bar && ! test -s z/bar' span_id:234))}
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'get "bar" => symlink fix from svn' span_id:240))} {(SQ (Token id:Id.Lit_Chars val:'(cd z && git svn rebase)' span_id:246))}
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'"bar" does not become a symlink' span_id:252))} {(SQ (Token id:Id.Lit_Chars val:'! test -L z/bar' span_id:256))}
    )
    (C {(test_done)})
  ]
)