(List (= scope= flags=0 words=[] bindings=[('hgDir', {[ComSub (Com {[LIT_CHARS dirname]} {[VarSub 0]})] [LIT_CHARS /..]})]) (If (DBracket {B? LOGICAL_BINARY_AND {B1 UNARY_FILE_x {[LIT_CHARS /usr/bin/hg]}} {B1 UNARY_FILE_d {[VarSub hgDir] [LIT_CHARS /.hg]}}}) (= scope= flags=0 words=[] bindings=[('rev', {[ComSub (Com {[LIT_CHARS hg]} {[LIT_CHARS id]} {[LIT_CHARS -i]})]})]) (Com {[LIT_DBRACKET_LIKE "["]} {[LIT_CHARS -f]} {[VarSub hgDir] [LIT_CHARS /.hg_archival.txt]} {[LIT_DBRACKET_LIKE "]"]} ) (= scope= flags=0 words=[] bindings=[('rev', {[ComSub (Pipeline (Com {[LIT_CHARS grep]} {[LIT_CHARS node]} {[VarSub hgDir] [LIT_CHARS /.hg_archival.txt]}) (Com {[LIT_CHARS cut]} {[LIT_CHARS -d] [SQ ]} {[LIT_CHARS -f]} {[LIT_CHARS 2]}) (Com {[LIT_CHARS head]} {[LIT_CHARS -c]} {[LIT_CHARS 12]}) )]})]) (ElseTrue) (= scope= flags=0 words=[] bindings=[('rev', {[SQ ]})]) ) (Com {[LIT_CHARS echo]} {[DQ [VarSub rev]]} ) )