(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 .]} {[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_DBRACKET_LIKE "="] [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 /]}]]]} ) ) )