(CommandList
  children: [
    (C {(Lit_Other ':')} 
      {
        (BracedVarSub
          token: <VSub_Name srcdir>
          suffix_op: (StringUnary op_id:VTest_Equals arg_word:{(.)})
          spids: [54 58]
        )
      }
    )
    (Sentence child:(C {(.)} {(DQ ($ VSub_Name '$srcdir') (/init.sh))}) terminator:<Op_Semi ';'>)
    (C {(path_prepend_)} {(DQ ($ VSub_Name '$abs_aux_dir'))} {(.)})
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:tmpdir) op:Equal rhs:{(vc-cvs)} spids:[77])]
      spids: [77]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:repo)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: (CommandList children:[(C {(pwd)})])
                left_token: <Left_Backtick '`'>
                spids: [81 83]
              ) (/) ($ VSub_Name '$tmpdir') (/repo)
            }
          spids: [80]
        )
      ]
      spids: [80]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(0)} spids:[89])]
      spids: [89]
    )
    (ForEach
      iter_name: i
      iter_words: [{(with-cvsu)} {(without)}]
      do_arg_iter: F
      body: 
        (DoGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(test)} {($ VSub_Name '$i')} {(Lit_Other '=')} {(without)})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (SimpleCommand
                      words: [{(printf)} {(SQ <'%s\\n'>)} {(SQ <'#!/bin/sh'>)} {(SQ <'exit 1'>)}]
                      redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(cvsu)} spids:[146])]
                    )
                    (C {(chmod)} {(a) (Lit_Other '+') (x)} {(cvsu)})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:PATH)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: (CommandList children:[(C {(pwd)})])
                                left_token: <Left_Backtick '`'>
                                spids: [161 163]
                              ) (Lit_Other ':') ($ VSub_Name '$PATH')
                            }
                          spids: [160]
                        )
                      ]
                      spids: [160]
                    )
                    (C {(export)} {(PATH)})
                  ]
                  spids: [16777215 129]
                )
              ]
              spids: [16777215 173]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:ok) op:Equal rhs:{(0)} spids:[176])]
              spids: [176]
            )
            (AndOr
              ops: [
                Op_DAmp
                Op_DAmp
                Op_DAmp
                Op_DAmp
                Op_DAmp
                Op_DAmp
                Op_DAmp
                Op_DAmp
                Op_DAmp
                Op_DAmp
                Op_DAmp
                Op_DAmp
                Op_DAmp
              ]
              children: [
                (C {(mkdir)} {($ VSub_Name '$tmpdir')})
                (C {(cd)} {($ VSub_Name '$tmpdir')})
                (BraceGroup
                  children: [
                    (Sentence
                      child: 
                        (AndOr
                          ops: [Op_DPipe]
                          children: [
                            (Subshell
                              child: (C {(cvs)} {(-Q)} {(-d)} {(DQ ($ VSub_Name '$repo'))} {(init)})
                              redirects: [
                                (Redir
                                  op_id: Redir_Great
                                  fd: 16777215
                                  arg_word: {(/dev/null)}
                                  spids: [215]
                                )
                                (Redir
                                  op_id: Redir_GreatAnd
                                  fd: 2
                                  arg_word: {(1)}
                                  spids: [219]
                                )
                              ]
                              spids: [199 213]
                            )
                            (C {(skip_)} {(DQ ('cvs not found in PATH'))})
                          ]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  spids: [197]
                )
                (C {(mkdir)} {(w)})
                (C {(cd)} {(w)})
                (C {(mkdir)} {(d)})
                (C {(touch)} {(d/a)} {(b)} {(c)})
                (C {(cvs)} {(-Q)} {(-d)} {(DQ ($ VSub_Name '$repo'))} {(import)} {(-m)} {(imp)} {(m)} {(M)} 
                  {(M0)}
                )
                (C {(cvs)} {(-Q)} {(-d)} {(DQ ($ VSub_Name '$repo'))} {(co)} {(m)})
                (C {(cd)} {(m)})
                (SimpleCommand
                  words: [{(printf)} {(SQ <'%s\\n'>)} {(b)} {(c)} {(d/a)}]
                  redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(expected)} spids:[329])]
                )
                (Pipeline
                  children: [
                    (C {(vc-list-files)})
                    (SimpleCommand
                      words: [{(sort)}]
                      redirects: [
                        (Redir
                          op_id: Redir_Great
                          fd: 16777215
                          arg_word: {(actual)}
                          spids: [342]
                        )
                      ]
                    )
                  ]
                  negated: F
                )
                (C {(compare)} {(expected)} {(actual)})
                (Assignment
                  keyword: Assign_None
                  pairs: [(assign_pair lhs:(LhsName name:ok) op:Equal rhs:{(1)} spids:[358])]
                  spids: [358]
                )
              ]
            )
            (AndOr
              ops: [Op_DAmp]
              children: [
                (C {(test)} {($ VSub_Name '$ok')} {(Lit_Other '=')} {(0)})
                (Assignment
                  keyword: Assign_None
                  pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[372])]
                  spids: [372]
                )
              ]
            )
          ]
          spids: [103 375]
        )
      spids: [97 101]
    )
    (C {(Exit)} {($ VSub_Name '$fail')})
  ]
)