(command.CommandList children: [ (command.FuncDef name: read_tree_must_succeed body: (command.BraceGroup children: [ (command.AndOr ops: [Op_DAmp Op_DAmp Op_DAmp Op_DAmp] children: [ (command.SimpleCommand words: [{(git)} {(ls-files)} {(-s)}] redirects: [(redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(pre-dry-run)})] ) (C {(git)} {(read-tree)} {(-n)} {(DQ ($ VSub_At '$@'))}) (command.SimpleCommand words: [{(git)} {(ls-files)} {(-s)}] redirects: [(redir.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 '$@'))}) ] ) ] ) ) (command.FuncDef name: read_tree_must_fail body: (command.BraceGroup children: [ (command.AndOr ops: [Op_DAmp Op_DAmp Op_DAmp Op_DAmp] children: [ (command.SimpleCommand words: [{(git)} {(ls-files)} {(-s)}] redirects: [(redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(pre-dry-run)})] ) (C {(test_must_fail)} {(git)} {(read-tree)} {(-n)} {(DQ ($ VSub_At '$@'))}) (command.SimpleCommand words: [{(git)} {(ls-files)} {(-s)}] redirects: [(redir.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 '$@'))}) ] ) ] ) ) (command.FuncDef name: read_tree_u_must_succeed body: (command.BraceGroup children: [ (command.AndOr ops: [Op_DAmp Op_DAmp Op_DAmp Op_DAmp Op_DAmp Op_DAmp Op_DAmp] children: [ (command.SimpleCommand words: [{(git)} {(ls-files)} {(-s)}] redirects: [(redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(pre-dry-run)})] ) (command.SimpleCommand words: [{(git)} {(diff-files)} {(-p)}] redirects: [ (redir.Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {(pre-dry-run-wt)} ) ] ) (C {(git)} {(read-tree)} {(-n)} {(DQ ($ VSub_At '$@'))}) (command.SimpleCommand words: [{(git)} {(ls-files)} {(-s)}] redirects: [(redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(post-dry-run)})] ) (command.SimpleCommand words: [{(git)} {(diff-files)} {(-p)}] redirects: [ (redir.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 '$@'))}) ] ) ] ) ) (command.FuncDef name: read_tree_u_must_fail body: (command.BraceGroup children: [ (command.AndOr ops: [Op_DAmp Op_DAmp Op_DAmp Op_DAmp Op_DAmp Op_DAmp Op_DAmp] children: [ (command.SimpleCommand words: [{(git)} {(ls-files)} {(-s)}] redirects: [(redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(pre-dry-run)})] ) (command.SimpleCommand words: [{(git)} {(diff-files)} {(-p)}] redirects: [ (redir.Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {(pre-dry-run-wt)} ) ] ) (C {(test_must_fail)} {(git)} {(read-tree)} {(-n)} {(DQ ($ VSub_At '$@'))}) (command.SimpleCommand words: [{(git)} {(ls-files)} {(-s)}] redirects: [(redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(post-dry-run)})] ) (command.SimpleCommand words: [{(git)} {(diff-files)} {(-p)}] redirects: [ (redir.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 '$@'))}) ] ) ] ) ) ] )