(CommandList
  children: [
    (FuncDef
      name: read_tree_must_succeed
      body: 
        (BraceGroup
          children: [
            (AndOr
              ops: [Op_DAmp Op_DAmp Op_DAmp Op_DAmp]
              children: [
                (SimpleCommand
                  words: [{(git)} {(ls-files)} {(-s)}]
                  redirects: [(Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(pre-dry-run)})]
                )
                (C {(git)} {(read-tree)} {(-n)} {(DQ ($ VSub_At '$@'))})
                (SimpleCommand
                  words: [{(git)} {(ls-files)} {(-s)}]
                  redirects: [(Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(post-dry-run)})]
                )
                (C {(test_cmp)} {(pre-dry-run)} {(post-dry-run)})
                (C {(git)} {(read-tree)} {(DQ ($ VSub_At '$@'))})
              ]
            )
          ]
          spids: [17]
        )
      spids: [12 16]
    )
    (FuncDef
      name: read_tree_must_fail
      body: 
        (BraceGroup
          children: [
            (AndOr
              ops: [Op_DAmp Op_DAmp Op_DAmp Op_DAmp]
              children: [
                (SimpleCommand
                  words: [{(git)} {(ls-files)} {(-s)}]
                  redirects: [(Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(pre-dry-run)})]
                )
                (C {(test_must_fail)} {(git)} {(read-tree)} {(-n)} {(DQ ($ VSub_At '$@'))})
                (SimpleCommand
                  words: [{(git)} {(ls-files)} {(-s)}]
                  redirects: [(Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(post-dry-run)})]
                )
                (C {(test_cmp)} {(pre-dry-run)} {(post-dry-run)})
                (C {(test_must_fail)} {(git)} {(read-tree)} {(DQ ($ VSub_At '$@'))})
              ]
            )
          ]
          spids: [82]
        )
      spids: [77 81]
    )
    (FuncDef
      name: read_tree_u_must_succeed
      body: 
        (BraceGroup
          children: [
            (AndOr
              ops: [Op_DAmp Op_DAmp Op_DAmp Op_DAmp Op_DAmp Op_DAmp Op_DAmp]
              children: [
                (SimpleCommand
                  words: [{(git)} {(ls-files)} {(-s)}]
                  redirects: [(Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(pre-dry-run)})]
                )
                (SimpleCommand
                  words: [{(git)} {(diff-files)} {(-p)}]
                  redirects: [(Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(pre-dry-run-wt)})]
                )
                (C {(git)} {(read-tree)} {(-n)} {(DQ ($ VSub_At '$@'))})
                (SimpleCommand
                  words: [{(git)} {(ls-files)} {(-s)}]
                  redirects: [(Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(post-dry-run)})]
                )
                (SimpleCommand
                  words: [{(git)} {(diff-files)} {(-p)}]
                  redirects: [(Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(post-dry-run-wt)})]
                )
                (C {(test_cmp)} {(pre-dry-run)} {(post-dry-run)})
                (C {(test_cmp)} {(pre-dry-run-wt)} {(post-dry-run-wt)})
                (C {(git)} {(read-tree)} {(DQ ($ VSub_At '$@'))})
              ]
            )
          ]
          spids: [151]
        )
      spids: [146 150]
    )
    (FuncDef
      name: read_tree_u_must_fail
      body: 
        (BraceGroup
          children: [
            (AndOr
              ops: [Op_DAmp Op_DAmp Op_DAmp Op_DAmp Op_DAmp Op_DAmp Op_DAmp]
              children: [
                (SimpleCommand
                  words: [{(git)} {(ls-files)} {(-s)}]
                  redirects: [(Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(pre-dry-run)})]
                )
                (SimpleCommand
                  words: [{(git)} {(diff-files)} {(-p)}]
                  redirects: [(Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(pre-dry-run-wt)})]
                )
                (C {(test_must_fail)} {(git)} {(read-tree)} {(-n)} {(DQ ($ VSub_At '$@'))})
                (SimpleCommand
                  words: [{(git)} {(ls-files)} {(-s)}]
                  redirects: [(Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(post-dry-run)})]
                )
                (SimpleCommand
                  words: [{(git)} {(diff-files)} {(-p)}]
                  redirects: [(Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(post-dry-run-wt)})]
                )
                (C {(test_cmp)} {(pre-dry-run)} {(post-dry-run)})
                (C {(test_cmp)} {(pre-dry-run-wt)} {(post-dry-run-wt)})
                (C {(test_must_fail)} {(git)} {(read-tree)} {(DQ ($ VSub_At '$@'))})
              ]
            )
          ]
          spids: [249]
        )
      spids: [244 248]
    )
  ]
)