(List (= scope= flags=0 words=[] bindings=[('me', {[LIT_CHARS rerere-train]})]) (= scope= flags=0 words=[] bindings=[('USAGE', {[DQ [VarSub me][LIT_CHARS " rev-list-args"]]})]) (= scope= flags=0 words=[] bindings=[('SUBDIRECTORY_OK', {[LIT_CHARS Yes]})]) (= scope= flags=0 words=[] bindings=[('OPTIONS_SPEC', {[SQ ]})]) (Com {[LIT_CHARS .]} {[DQ [ComSub (Com {[LIT_CHARS git]} {[LIT_CHARS --exec-path]})][LIT_CHARS /git-sh-setup]]}) (Com {[LIT_CHARS require_work_tree]}) (Com {[LIT_CHARS cd_to_toplevel]}) (AndOr OP_OR_IF (= scope= flags=0 words=[] bindings=[('branch', {[ComSub (Com {[LIT_CHARS git]} {[LIT_CHARS symbolic-ref]} {[LIT_CHARS -q]} {[LIT_CHARS HEAD]})]})]) (AndOr OP_OR_IF (= scope= flags=0 words=[] bindings=[('original_HEAD', {[ComSub (Com {[LIT_CHARS git]} {[LIT_CHARS rev-parse]} {[LIT_CHARS --verify]} {[LIT_CHARS HEAD]})]})]) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Not on any branch and no commit yet?"]]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) ) ) (AndOr OP_OR_IF (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[DQ [VarSub GIT_DIR][LIT_CHARS /rr-cache]]}) (Com {[LIT_CHARS exit]}) ) (Pipeline (Com {[LIT_CHARS git]} {[LIT_CHARS rev-list]} {[LIT_CHARS --parents]} {[DQ [VarSub @]]}) (While (Com {[LIT_CHARS read]} {[LIT_CHARS commit]} {[LIT_CHARS parent1]} {[LIT_CHARS other_parents]}) (List (If (Com {[LIT_CHARS test]} {[LIT_CHARS -z]} {[DQ [VarSub other_parents]]}) (Com {[LIT_CHARS continue]}) ) (Com {[LIT_CHARS git]} {[LIT_CHARS checkout]} {[LIT_CHARS -q]} {[DQ [VarSub parent1][LIT_CHARS "^0"]]}) (If (Com {[LIT_CHARS git]} {[LIT_CHARS merge]} {[VarSub other_parents]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 1), (DescriptorRedirectNode target={[LIT_CHARS 1]} &"> 2), > ) (Com {[LIT_CHARS continue]}) ) (If (Com {[LIT_CHARS test]} {[LIT_CHARS -s]} {[DQ [VarSub GIT_DIR][LIT_CHARS /MERGE_RR]]}) (List (Com {[LIT_CHARS git]} {[LIT_CHARS show]} {[LIT_CHARS -s]} {[LIT_CHARS --pretty] [LIT_OTHER "="] [LIT_CHARS format] [LIT_OTHER ":"] [DQ [LIT_CHARS "Learning from %h %s"]]} {[DQ [VarSub commit]]}) (Com {[LIT_CHARS git]} {[LIT_CHARS rerere]}) (Com {[LIT_CHARS git]} {[LIT_CHARS checkout]} {[LIT_CHARS -q]} {[VarSub commit]} {[LIT_CHARS --]} {[LIT_CHARS .]}) (Com {[LIT_CHARS git]} {[LIT_CHARS rerere]}) ) ) (Com {[LIT_CHARS git]} {[LIT_CHARS reset]} {[LIT_CHARS -q]} {[LIT_CHARS --hard]}) ) ) ) (If (Com {[LIT_CHARS test]} {[LIT_CHARS -z]} {[DQ [VarSub branch]]}) (Com {[LIT_CHARS git]} {[LIT_CHARS checkout]} {[DQ [VarSub original_HEAD]]}) (ElseTrue) (Com {[LIT_CHARS git]} {[LIT_CHARS checkout]} {[DQ [VarSub branch transform_ops=[VS_UNARY_POUND {[LIT_CHARS refs] [LIT_SLASH /] [LIT_CHARS heads] [LIT_SLASH /]}]]]}) ) )