(CommandList children: [ (C {(set)} {(-C)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:PATH) op: Equal rhs: {(DQ ('/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin'))} spids: [99] ) ] spids: [99] ) (C {(export)} {(PATH)}) (FuncDef name: usage body: (BraceGroup children: [ (C {(echo)} {(DQ ('Usage:'))}) (C {(echo)} {(-n)} { (DQ (CommandSubPart command_list: (CommandList children:[(C {(basename)} {(${ VSub_Number 0)})]) left_token: <Left_CommandSub '$('> spids: [128 134] ) (' [-rNNNNNN]') ) } ) (C {(echo)} {(DQ (' [-l /path/for/output] /path/to/branch'))}) (C {(echo)} {(DQ (' -r: The oldest commit to include in the search'))}) (C {(echo)} {(DQ )}) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] spids: [113] ) spids: [109 112] ) (FuncDef name: main body: (BraceGroup children: [ (While cond: [(Sentence child:(C {(getopts)} {(DQ ('l:r:'))} {(arg)}) terminator:<Op_Semi ';'>)] body: (DoGroup children: [ (Case to_match: {(${ VSub_Name arg)} arms: [ (case_arm pat_list: [{(l)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:where) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Name OPTARG> suffix_op: (StringUnary op_id:VOp1_DPound arg_word:{('-r*')}) spids: [215 219] ) ) } spids: [213] ) ] spids: [213] ) (AndOr ops: [Op_DAmp] children: [ (C {(Lit_Other '[')} {(-z)} {(DQ (${ VSub_Name where))} {(Lit_Other ']')}) (C {(usage)}) ] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-e)} {(DQ (${ VSub_Name where))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(echo)} {(DQ ('Log file already exists:'))}) (C {(echo)} {(DQ (' (') (${ VSub_Name where) (')'))}) (ControlFlow token: <ControlFlow_Return return> arg_word: {(2)} ) ] spids: [16777215 255] ) ] spids: [16777215 281] ) ] spids: [197 198 284 16777215] ) (case_arm pat_list: [{(r)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:rev) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Name OPTARG> suffix_op: (StringUnary op_id:VOp1_DPound arg_word:{(-r)}) spids: [293 297] ) ) } spids: [291] ) ] spids: [291] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:c) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(echo)} {(-n)} {(${ VSub_Name rev)}) (C {(tr)} {(-d)} {(SQ <0-9>)}) (C {(wc)} {(-c)}) ] negated: F ) ] ) left_token: <Left_CommandSub '$('> spids: [302 326] ) } spids: [301] ) ] spids: [301] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(${ VSub_Name c)} {(-ne)} {(0)} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(echo)} {(DQ ('Revision number must be numeric.'))}) (ControlFlow token: <ControlFlow_Return return> arg_word: {(2)} ) ] spids: [16777215 344] ) ] spids: [16777215 359] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:rev) op: Equal rhs: {(DQ (-r) (${ VSub_Name rev) (':rHEAD'))} spids: [374] ) ] spids: [374] ) ] spids: [287 288 384 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [(C {(usage)})] spids: [387 388 394 16777215] ) ] spids: [188 194 397] ) ] spids: [185 400] ) ) (C {(shift)} { (ArithSubPart anode: (ArithBinary op_id: Arith_Minus left: (ArithWord w:{(${ VSub_Name OPTIND)}) right: (ArithWord w:{(Lit_Digits 1)}) ) spids: [405 416] ) } ) (AndOr ops: [Op_DAmp] children: [ (C {(Lit_Other '[')} {(DQ ($ VSub_Pound '$#'))} {(-ne)} {(1)} {(Lit_Other ']')}) (C {(usage)}) ] ) (AndOr ops: [Op_DAmp] children: [ (C {(Lit_Other '[')} {(-z)} {(DQ (${ VSub_Name where))} {(Lit_Other ']')}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:where) op: Equal rhs: {(/dev/stdout)} spids: [468] ) ] spids: [468] ) ] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:svn) op:Equal rhs:{(EmptyPart)} spids:[473])] spids: [473] ) (ForEach iter_name: s iter_words: [{(/usr/bin)} {(/usr/local/bin)}] do_arg_iter: F body: (DoGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-x)} {(${ VSub_Name s) (/svn)} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:svn) op: Equal rhs: {(${ VSub_Name s) (/svn)} spids: [511] ) ] spids: [511] ) (ControlFlow token:<ControlFlow_Break break>) ] spids: [16777215 508] ) ] spids: [16777215 521] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-x)} {(${ VSub_Name s) (/svnlite)} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:svn) op: Equal rhs: {(${ VSub_Name s) (/svnlite)} spids: [541] ) ] spids: [541] ) (ControlFlow token:<ControlFlow_Break break>) ] spids: [16777215 538] ) ] spids: [16777215 551] ) ] spids: [491 554] ) spids: [485 489] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-z)} {(DQ (${ VSub_Name svn))} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (C {(echo)} {(DQ ('svn(1) binary not found.'))}) (ControlFlow token:<ControlFlow_Return return> arg_word:{(2)}) ] spids: [16777215 576] ) ] spids: [16777215 591] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {($ VSub_Pound '$#')} {(-gt)} {(1)} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (C {(echo)} {(DQ ('Cannot specify more than one working path.'))}) (ControlFlow token:<ControlFlow_Return return> arg_word:{(2)}) ] spids: [16777215 619] ) ] spids: [16777215 634] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(KW_Bang '!')} {(-d)} {(DQ (${ VSub_Number 1))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(echo)} {(DQ ('Specified path (') (${ VSub_Number 1) (') is not a directory.'))}) (ControlFlow token:<ControlFlow_Return return> arg_word:{(2)}) ] spids: [16777215 658] ) ] spids: [16777215 677] ) (SimpleCommand words: [{(${ VSub_Name svn)} {(info)} {(${ VSub_Number 1)}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(/dev/null)} spids: [694] ) (Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[697]) ] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_QMark '$?'))} {(-ne)} {(0)} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (C {(echo)} {(DQ ('Cannot determine svn repository information for ') (${ VSub_Number 1))} ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(2)}) ] spids: [16777215 716] ) ] spids: [16777215 734] ) (SimpleCommand words: [ {(${ VSub_Name svn)} {(log)} {(${ VSub_Name rev)} {(--search)} {(SQ <'Relnotes:*[A-Za-z0-9]*'>)} {(${ VSub_Number 1)} ] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(${ VSub_Name where)} spids: [770] ) ] ) (ControlFlow token:<ControlFlow_Return return> arg_word:{($ VSub_QMark '$?')}) ] spids: [170] ) spids: [166 169] ) (C {(main)} {(DQ (${ VSub_At '@'))}) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{($ VSub_QMark '$?')}) ] )