(CommandList children: [ (FuncDef name: gethgversion body: (BraceGroup children: [ (C {(make)} {(clean)}) (AndOr children: [ (C {(make)} {(Assign_Local local)}) (C {(make)} {(Assign_Local local)} {(Lit_VarLike "PURE=") (--pure)}) ] op_id: Op_DPipe ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:HG) op: Equal rhs: {(DQ ($ VSub_Name "$PWD") (/hg))} spids: [26] ) ] spids: [26] ) (AndOr children: [ (SimpleCommand words: [{($ VSub_Name "$HG")} {(version)}] redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(/dev/null)} spids:[38])] ) (BraceGroup children: [ (Sentence child: (C {(echo)} {(SQ <"abort: hg version failed!">)}) terminator: <Op_Semi ";"> ) (Sentence child:(C {(exit)} {(1)}) terminator:<Op_Semi ";">) ] spids: [44] ) ] op_id: Op_DPipe ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:hgversion) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {($ VSub_Name "$HG")} {(version)}) (C {(sed)} {(-ne)} {(SQ <"s/.*(version \\(.*\\))$/\\1/p">)}) ] negated: False ) ] ) left_token: <Left_Backtick "`"> spids: [64 78] ) } spids: [63] ) ] spids: [63] ) (If arms: [ (if_arm cond: [ (Sentence child: (Pipeline children: [ (C {(echo)} {($ VSub_Name "$hgversion")}) (SimpleCommand words: [{(grep)} {(--)} {(SQ <->)}] redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {(/dev/null)} spids: [98] ) (Redir op_id: Redir_GreatAnd fd: 2 arg_word: {(1)} spids: [102] ) ] ) ] negated: False ) terminator: <Op_Semi ";"> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:version) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(echo)} {($ VSub_Name "$hgversion")}) (C {(cut)} {(-d-)} {(-f1)}) ] negated: False ) ] ) left_token: <Left_Backtick "`"> spids: [114 126] ) } spids: [113] ) ] spids: [113] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:release) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(echo)} {($ VSub_Name "$hgversion")}) (C {(cut)} {(-d-)} {(-f2)}) (C {(sed)} {(-e)} {(SQ <"s/+.*//">)}) ] negated: False ) ] ) left_token: <Left_Backtick "`"> spids: [130 152] ) } spids: [129] ) ] spids: [129] ) ] spids: [-1 106] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:version) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(echo)} {($ VSub_Name "$hgversion")}) (C {(sed)} {(-e)} {(SQ <"s/+.*//">)}) ] negated: False ) ] ) left_token: <Left_Backtick "`"> spids: [163 177] ) } spids: [162] ) ] spids: [162] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:release) op: Equal rhs: {(SQ <0>)} spids: [180] ) ] spids: [180] ) ] spids: [155 186] ) ] spids: [4] ) spids: [0 3] ) ] )