(CommandList children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:hgDir) op: Equal rhs: { (CommandSubPart command_list: (CommandList children:[(C {(dirname)} {($ VSub_Number '$0')})]) left_token: <Left_Backtick '`'> spids: [51 55] ) (/..) } spids: [50] ) ] spids: [50] ) (Sentence child: (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (LogicalAnd left: (BoolUnary op_id:BoolUnary_x child:{(/usr/bin/hg)}) right: (BoolUnary op_id:BoolUnary_d child:{($ VSub_Name '$hgDir') (/.hg)}) ) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:rev) op: Equal rhs: { (CommandSubPart command_list: (CommandList children:[(C {(hg)} {(id)} {(-i)})]) left_token: <Left_Backtick '`'> spids: [81 87] ) } spids: [80] ) ] spids: [80] ) ] spids: [16777215 77] ) (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-f)} {($ VSub_Name '$hgDir') (/.hg_archival.txt)} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:rev) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(grep)} {(node)} {($ VSub_Name '$hgDir') (/.hg_archival.txt)} ) (C {(cut)} {(-d) (SQ <' '>)} {(-f)} {(2)}) (C {(head)} {(-c)} {(12)}) ] negated: F ) ] ) left_token: <Left_Backtick '`'> spids: [105 131] ) } spids: [104] ) ] spids: [104] ) terminator: <Op_Semi ';'> ) ] spids: [89 101] ) ] else_action: [ (Sentence child: (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:rev) op:Equal rhs:{(EmptyPart)} spids:[137])] spids: [137] ) terminator: <Op_Semi ';'> ) ] spids: [134 141] ) terminator: <Op_Semi ';'> ) (C {(echo)} {(DQ ($ VSub_Name '$rev'))}) ] )