(List (FunctionDef read_tree_must_succeed [] (AndOr OP_AND_IF (Com {[LIT_CHARS git]} {[LIT_CHARS ls-files]} {[LIT_CHARS -s]} < (FilenameRedirectNode filename={[LIT_CHARS pre-dry-run]} "> 1), > ) (AndOr OP_AND_IF (Com {[LIT_CHARS git]} {[LIT_CHARS read-tree]} {[LIT_CHARS -n]} {[DQ [VarSub @]]} ) (AndOr OP_AND_IF (Com {[LIT_CHARS git]} {[LIT_CHARS ls-files]} {[LIT_CHARS -s]} < (FilenameRedirectNode filename={[LIT_CHARS post-dry-run]} "> 1), > ) (AndOr OP_AND_IF (Com {[LIT_CHARS test_cmp]} {[LIT_CHARS pre-dry-run]} {[LIT_CHARS post-dry-run]} ) (Com {[LIT_CHARS git]} {[LIT_CHARS read-tree]} {[DQ [VarSub @]]} ) ) ) ) ) ) (FunctionDef read_tree_must_fail [] (AndOr OP_AND_IF (Com {[LIT_CHARS git]} {[LIT_CHARS ls-files]} {[LIT_CHARS -s]} < (FilenameRedirectNode filename={[LIT_CHARS pre-dry-run]} "> 1), > ) (AndOr OP_AND_IF (Com {[LIT_CHARS test_must_fail]} {[LIT_CHARS git]} {[LIT_CHARS read-tree]} {[LIT_CHARS -n]} {[DQ [VarSub @]]} ) (AndOr OP_AND_IF (Com {[LIT_CHARS git]} {[LIT_CHARS ls-files]} {[LIT_CHARS -s]} < (FilenameRedirectNode filename={[LIT_CHARS post-dry-run]} "> 1), > ) (AndOr OP_AND_IF (Com {[LIT_CHARS test_cmp]} {[LIT_CHARS pre-dry-run]} {[LIT_CHARS post-dry-run]} ) (Com {[LIT_CHARS test_must_fail]} {[LIT_CHARS git]} {[LIT_CHARS read-tree]} {[DQ [VarSub @]]} ) ) ) ) ) ) (FunctionDef read_tree_u_must_succeed [] (AndOr OP_AND_IF (Com {[LIT_CHARS git]} {[LIT_CHARS ls-files]} {[LIT_CHARS -s]} < (FilenameRedirectNode filename={[LIT_CHARS pre-dry-run]} "> 1), > ) (AndOr OP_AND_IF (Com {[LIT_CHARS git]} {[LIT_CHARS diff-files]} {[LIT_CHARS -p]} < (FilenameRedirectNode filename={[LIT_CHARS pre-dry-run-wt]} "> 1), > ) (AndOr OP_AND_IF (Com {[LIT_CHARS git]} {[LIT_CHARS read-tree]} {[LIT_CHARS -n]} {[DQ [VarSub @]]} ) (AndOr OP_AND_IF (Com {[LIT_CHARS git]} {[LIT_CHARS ls-files]} {[LIT_CHARS -s]} < (FilenameRedirectNode filename={[LIT_CHARS post-dry-run]} "> 1), > ) (AndOr OP_AND_IF (Com {[LIT_CHARS git]} {[LIT_CHARS diff-files]} {[LIT_CHARS -p]} < (FilenameRedirectNode filename={[LIT_CHARS post-dry-run-wt]} "> 1), > ) (AndOr OP_AND_IF (Com {[LIT_CHARS test_cmp]} {[LIT_CHARS pre-dry-run]} {[LIT_CHARS post-dry-run]} ) (AndOr OP_AND_IF (Com {[LIT_CHARS test_cmp]} {[LIT_CHARS pre-dry-run-wt]} {[LIT_CHARS post-dry-run-wt]} ) (Com {[LIT_CHARS git]} {[LIT_CHARS read-tree]} {[DQ [VarSub @]]} ) ) ) ) ) ) ) ) ) (FunctionDef read_tree_u_must_fail [] (AndOr OP_AND_IF (Com {[LIT_CHARS git]} {[LIT_CHARS ls-files]} {[LIT_CHARS -s]} < (FilenameRedirectNode filename={[LIT_CHARS pre-dry-run]} "> 1), > ) (AndOr OP_AND_IF (Com {[LIT_CHARS git]} {[LIT_CHARS diff-files]} {[LIT_CHARS -p]} < (FilenameRedirectNode filename={[LIT_CHARS pre-dry-run-wt]} "> 1), > ) (AndOr OP_AND_IF (Com {[LIT_CHARS test_must_fail]} {[LIT_CHARS git]} {[LIT_CHARS read-tree]} {[LIT_CHARS -n]} {[DQ [VarSub @]]} ) (AndOr OP_AND_IF (Com {[LIT_CHARS git]} {[LIT_CHARS ls-files]} {[LIT_CHARS -s]} < (FilenameRedirectNode filename={[LIT_CHARS post-dry-run]} "> 1), > ) (AndOr OP_AND_IF (Com {[LIT_CHARS git]} {[LIT_CHARS diff-files]} {[LIT_CHARS -p]} < (FilenameRedirectNode filename={[LIT_CHARS post-dry-run-wt]} "> 1), > ) (AndOr OP_AND_IF (Com {[LIT_CHARS test_cmp]} {[LIT_CHARS pre-dry-run]} {[LIT_CHARS post-dry-run]} ) (AndOr OP_AND_IF (Com {[LIT_CHARS test_cmp]} {[LIT_CHARS pre-dry-run-wt]} {[LIT_CHARS post-dry-run-wt]} ) (Com {[LIT_CHARS test_must_fail]} {[LIT_CHARS git]} {[LIT_CHARS read-tree]} {[DQ [VarSub @]]} ) ) ) ) ) ) ) ) ) )