(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: [-1 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: False ) ] ) 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:{(SQ )} spids:[137])] spids: [137] ) terminator: <Op_Semi ";"> ) ] spids: [134 141] ) terminator: <Op_Semi ";"> ) (C {(echo)} {(DQ ($ VSub_Name "$rev"))}) ] )