(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')}) ] )