(CommandList children: [ (FuncDef name: usage body: (BraceGroup children: [ (C {(echo)} {(DQ ('Usage: ') ($ VSub_Number '$0') (' [--spec] <target>'))}) (C {(exit)} {(2)}) ] spids: [8] ) spids: [4 7] ) (AndOr children: [(C {(test)} {(-z)} {(DQ ($ VSub_Number '$1'))}) (C {(usage)})] op_id: Op_DAmp ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} {(Lit_Other '=')} {(DQ (--spec))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:spec_format) op:Equal rhs:{(1)} spids:[61])] spids: [61] ) (C {(shift)}) (AndOr children: [(C {(test)} {(-z)} {(DQ ($ VSub_Number '$1'))}) (C {(usage)})] op_id: Op_DAmp ) ] spids: [16777215 58] ) ] spids: [16777215 80] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:TARGET) op:Equal rhs:{($ VSub_Number '$1')} spids:[83])] spids: [83] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GIT_DIR) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (SimpleCommand words: [{(git)} {(rev-parse)} {(--git-dir)}] redirects: [(Redir op_id:Redir_Great fd:2 arg_word:{(/dev/null)} spids:[95])] ) ] ) left_token: <Left_Backtick '`'> spids: [88 97] ) } spids: [87] ) ] spids: [87] ) (AndOr children: [(C {(test)} {(-z)} {(DQ ($ VSub_Name '$GIT_DIR'))}) (C {(usage)})] op_id: Op_DAmp ) (C {(export)} {(GIT_DIR)}) (C {(export)} {(Lit_VarLike 'GIT_PAGER=') (DQ )}) (C {(export)} {(Lit_VarLike 'PAGER=') (DQ )}) (FuncDef name: mkchlog body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:target) op: Equal rhs: {($ VSub_Number '$1')} spids: [139] ) ] spids: [139] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:format) op: Equal rhs: {($ VSub_Number '$2')} spids: [143] ) ] spids: [143] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:prev_tag) op:Equal rhs:{(DQ )} spids:[148])] spids: [148] ) (ForEach iter_name: tag iter_words: [ { (CommandSubPart command_list: (CommandList children: [(C {(git)} {(tag)} {(-l)} {(${ VSub_Name target) (-) (SQ <'*'>)})] ) left_token: <Left_Backtick '`'> spids: [160 174] ) } ] do_arg_iter: False body: (DoGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:obj) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(git)} {(cat-file)} {(tag)} {($ VSub_Name '$tag')}) (C {(awk)} {(SQ <'/^object /{print $2}'>)}) ] negated: False ) ] ) left_token: <Left_Backtick '`'> spids: [182 198] ) } spids: [181] ) ] spids: [181] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:base) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(git)} {(merge-base)} {($ VSub_Name '$obj')} {(HEAD)}) ] ) left_token: <Left_Backtick '`'> spids: [202 210] ) } spids: [201] ) ] spids: [201] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Name '$base'))} {(-o)} {(DQ ($ VSub_Name '$base'))} {(KW_Bang '!') (Lit_Other '=')} {($ VSub_Name '$obj')} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [(ControlFlow token:<ControlFlow_Continue continue>)] spids: [16777215 238] ) ] spids: [16777215 244] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:all_vers) op: Equal rhs: { (DQ ($ VSub_Name '$prev_tag') ($ VSub_Name '$tag') (' ') ($ VSub_Name '$all_vers') ) } spids: [247] ) ] spids: [247] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:prev_tag) op: Equal rhs: {($ VSub_Name '$tag') (..)} spids: [256] ) ] spids: [256] ) ] spids: [178 261] ) spids: [159 176] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Name '$prev_tag'))} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:all_vers) op: Equal rhs: {(HEAD)} spids: [282] ) ] spids: [282] ) ] spids: [16777215 279] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:all_vers) op: Equal rhs: {(DQ (${ VSub_Name prev_tag) ('HEAD ') ($ VSub_Name '$all_vers'))} spids: [289] ) ] spids: [289] ) ] spids: [286 299] ) (ForEach iter_name: ver iter_words: [{($ VSub_Name '$all_vers')}] do_arg_iter: False body: (DoGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:log_out) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(git)} {(log)} {($ VSub_Name '$ver')} {(--)} {($ VSub_Name '$target')} ) ] ) left_token: <Left_Backtick '`'> spids: [317 327] ) } spids: [316] ) ] spids: [316] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Name '$log_out'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [(ControlFlow token:<ControlFlow_Continue continue>)] spids: [16777215 344] ) ] spids: [16777215 350] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ver_name) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(echo)} {($ VSub_Name '$ver')}) (C {(sed)} {(-e)} {(SQ <'s/^.*\\.\\.//'>)}) ] negated: False ) ] ) left_token: <Left_Backtick '`'> spids: [354 368] ) } spids: [353] ) ] spids: [353] ) (C {(echo)} {(DQ )}) (C {(echo)} {(DQ ('** Version: ') ($ VSub_Name '$ver_name'))}) (C {(echo)} {(DQ )}) (C {(git)} {(log)} {(--no-merges)} {(DQ (${ VSub_Name format))} {($ VSub_Name '$ver')} {(--)} {($ VSub_Name '$target')} ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:prev_t) op: Equal rhs: {($ VSub_Name '$tag') (..)} spids: [410] ) ] spids: [410] ) ] spids: [313 415] ) spids: [308 311] ) ] spids: [136] ) spids: [132 135] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Name '$spec_format'))} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (Pipeline children: [ (C {(mkchlog)} {($ VSub_Name '$TARGET')} {(--pretty) (Lit_Other '=') (format) (Lit_Other ':') (DQ ('%ad %an%n%H%n%n* %s%n'))} ) (C {(sed)} {(-e)} {(SQ <'s/^\\* /\\t* /'>)}) ] negated: False ) ] spids: [16777215 435] ) ] else_action: [ (C {(echo)} {(DQ ('%changelog'))}) (C {(mkchlog)} {($ VSub_Name '$TARGET')} {(--pretty) (Lit_Other '=') (format) (Lit_Other ':') (DQ ('- %ad %an: %s'))} ) (C {(echo)} {(DQ )}) ] spids: [462 490] ) ] )