(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:'git svn dcommit honors auto-props' span_id:12))}
          spids: [10]
        )
      ]
    )
    (C {(.)} {(./lib-git-svn.sh)})
    (command.ShFunction
      name: generate_auto_props
      body: 
        (command.BraceGroup
          children: [
            (command.Simple
              words: [{(cat)}]
              redirects: [
                (redir.HereDoc
                  op: (Token id:Id.Redir_DLess val:'<<' span_id:29)
                  fd: -1
                  here_begin: {(EOF)}
                  here_end_span_id: 41
                  stdin_parts: [
                    ('[miscellany]\n')
                    ('enable-auto-props=')
                    ($ Id.VSub_Number '$1')
                    ('\n')
                    ('[auto-props]\n')
                    ('*.sh  = svn:mime-type=application/x-shellscript; svn:eol-style=LF\n')
                    ('*.txt = svn:mime-type=text/plain; svn:eol-style = native\n')
                  ]
                )
              ]
            )
          ]
        )
    )
    (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'initialize git svn' span_id:48))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:52) 
          (Token id:Id.Lit_Chars val:'\tmkdir import &&\n' span_id:53) (Token id:Id.Lit_Chars val:'\t(\n' span_id:54) 
          (Token id:Id.Lit_Chars val:'\t\tcd import &&\n' span_id:55) (Token id:Id.Lit_Chars val:'\t\techo foo >foo &&\n' span_id:56) 
          (Token
            id: Id.Lit_Chars
            val: '\t\tsvn_cmd import -m "import for git svn" . "$svnrepo"\n'
            span_id: 57
          ) (Token id:Id.Lit_Chars val:'\t) &&\n' span_id:58) 
          (Token id:Id.Lit_Chars val:'\trm -rf import &&\n' span_id:59) (Token id:Id.Lit_Chars val:'\tgit svn init "$svnrepo" &&\n' span_id:60) 
          (Token id:Id.Lit_Chars val:'\tgit svn fetch\n' span_id:61)
        )
      }
    )
    (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'enable auto-props config' span_id:68))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:72) 
          (Token id:Id.Lit_Chars val:'\tmkdir user &&\n' span_id:73) (Token id:Id.Lit_Chars val:'\tgenerate_auto_props yes >user/config\n' span_id:74)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'add files matching auto-props' span_id:81))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:85) 
          (Token id:Id.Lit_Chars val:'\twrite_script exec1.sh </dev/null &&\n' span_id:86) (Token id:Id.Lit_Chars val:'\techo "hello" >hello.txt &&\n' span_id:87) 
          (Token id:Id.Lit_Chars val:'\techo bar >bar &&\n' span_id:88) (Token id:Id.Lit_Chars val:'\tgit add exec1.sh hello.txt bar &&\n' span_id:89) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit commit -m "files for enabled auto-props" &&\n'
            span_id: 90
          ) (Token id:Id.Lit_Chars val:'\tgit svn dcommit --config-dir=user\n' span_id:91)
        )
      }
    )
    (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'disable auto-props config' span_id:98))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:102) 
          (Token id:Id.Lit_Chars val:'\tgenerate_auto_props no >user/config\n' span_id:103)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'add files matching disabled auto-props' span_id:110))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:114) 
          (Token id:Id.Lit_Chars val:'\twrite_script exec2.sh </dev/null &&\n' span_id:115) (Token id:Id.Lit_Chars val:'\techo "world" >world.txt &&\n' span_id:116) 
          (Token id:Id.Lit_Chars val:'\techo zot >zot &&\n' span_id:117) (Token id:Id.Lit_Chars val:'\tgit add exec2.sh world.txt zot &&\n' span_id:118) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit commit -m "files for disabled auto-props" &&\n'
            span_id: 119
          ) (Token id:Id.Lit_Chars val:'\tgit svn dcommit --config-dir=user\n' span_id:120)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'check resulting svn repository' span_id:127))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:131) (Token id:Id.Lit_Chars val:'(\n' span_id:132) 
          (Token id:Id.Lit_Chars val:'\tmkdir work &&\n' span_id:133) (Token id:Id.Lit_Chars val:'\tcd work &&\n' span_id:134) 
          (Token id:Id.Lit_Chars val:'\tsvn_cmd co "$svnrepo" &&\n' span_id:135) (Token id:Id.Lit_Chars val:'\tcd svnrepo &&\n' span_id:136) 
          (Token id:Id.Lit_Chars val:'\n' span_id:137) (Token id:Id.Lit_Chars val:'\t# Check properties from first commit.\n' span_id:138) 
          (Token id:Id.Lit_Chars val:'\tif test_have_prereq POSIXPERM\n' span_id:139) (Token id:Id.Lit_Chars val:'\tthen\n' span_id:140) 
          (Token
            id: Id.Lit_Chars
            val: '\t\ttest "x$(svn_cmd propget svn:executable exec1.sh)" = "x*"\n'
            span_id: 141
          ) (Token id:Id.Lit_Chars val:'\tfi &&\n' span_id:142) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest "x$(svn_cmd propget svn:mime-type exec1.sh)" = \\\n'
            span_id: 143
          ) (Token id:Id.Lit_Chars val:'\t     "xapplication/x-shellscript" &&\n' span_id:144) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest "x$(svn_cmd propget svn:mime-type hello.txt)" = "xtext/plain" &&\n'
            span_id: 145
          ) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest "x$(svn_cmd propget svn:eol-style hello.txt)" = "xnative" &&\n'
            span_id: 146
          ) (Token id:Id.Lit_Chars val:'\ttest "x$(svn_cmd propget svn:mime-type bar)" = "x" &&\n' span_id:147) 
          (Token id:Id.Lit_Chars val:'\n' span_id:148) (Token id:Id.Lit_Chars val:'\t# Check properties from second commit.\n' span_id:149) 
          (Token id:Id.Lit_Chars val:'\tif test_have_prereq POSIXPERM\n' span_id:150) (Token id:Id.Lit_Chars val:'\tthen\n' span_id:151) 
          (Token
            id: Id.Lit_Chars
            val: '\t\ttest "x$(svn_cmd propget svn:executable exec2.sh)" = "x*"\n'
            span_id: 152
          ) (Token id:Id.Lit_Chars val:'\tfi &&\n' span_id:153) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest "x$(svn_cmd propget svn:mime-type exec2.sh)" = "x" &&\n'
            span_id: 154
          ) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest "x$(svn_cmd propget svn:mime-type world.txt)" = "x" &&\n'
            span_id: 155
          ) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest "x$(svn_cmd propget svn:eol-style world.txt)" = "x" &&\n'
            span_id: 156
          ) (Token id:Id.Lit_Chars val:'\ttest "x$(svn_cmd propget svn:mime-type zot)" = "x"\n' span_id:157) 
          (Token id:Id.Lit_Chars val:')\n' span_id:158)
        )
      }
    )
    (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'check renamed file' span_id:165))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:169) 
          (Token id:Id.Lit_Chars val:'\ttest -d user &&\n' span_id:170) (Token id:Id.Lit_Chars val:'\tgenerate_auto_props yes > user/config &&\n' span_id:171) 
          (Token id:Id.Lit_Chars val:'\tgit mv foo foo.sh &&\n' span_id:172) (Token id:Id.Lit_Chars val:'\tgit commit -m "foo => foo.sh" &&\n' span_id:173) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit svn dcommit --config-dir=user &&\n'
            span_id: 174
          ) (Token id:Id.Lit_Chars val:'\t(\n' span_id:175) 
          (Token id:Id.Lit_Chars val:'\t\tcd work/svnrepo &&\n' span_id:176) (Token id:Id.Lit_Chars val:'\t\tsvn_cmd up &&\n' span_id:177) 
          (Token id:Id.Lit_Chars val:'\t\ttest ! -e foo &&\n' span_id:178) (Token id:Id.Lit_Chars val:'\t\ttest -e foo.sh &&\n' span_id:179) 
          (Token
            id: Id.Lit_Chars
            val: '\t\ttest "x$(svn_cmd propget svn:mime-type foo.sh)" = \\\n'
            span_id: 180
          ) (Token id:Id.Lit_Chars val:'\t\t     "xapplication/x-shellscript" &&\n' span_id:181) 
          (Token
            id: Id.Lit_Chars
            val: '\t\ttest "x$(svn_cmd propget svn:eol-style foo.sh)" = "xLF"\n'
            span_id: 182
          ) (Token id:Id.Lit_Chars val:'\t)\n' span_id:183)
        )
      }
    )
    (C {(test_done)})
  ]
)