(List (= scope= flags=0 words=[] bindings=[('USAGE', {[SQ ">]})]) (= scope= flags=0 words=[] bindings=[('SUBDIRECTORY_OK', {[SQ ]})]) (Com {[LIT_CHARS .]} {[LIT_CHARS git-sh-setup]}) (= scope= flags=0 words=[] bindings=[('verbose', {[SQ ]})]) (While (Com {[LIT_CHARS test]} {[VarSub #]} {[LIT_OTHER "!"] [LIT_OTHER "="]} {[LIT_CHARS 0]}) (List (Case to_match={[DQ [VarSub 1]]}, pat_word_list=[[{[LIT_CHARS -v]}, {[LIT_CHARS --v]}, {[LIT_CHARS --ve]}, {[LIT_CHARS --ver]}, {[LIT_CHARS --verb]}, {[LIT_CHARS --verbo]}, {[LIT_CHARS --verbos]}, {[LIT_CHARS --verbose]}], [{[LIT_OTHER "*"]}]] (= scope= flags=0 words=[] bindings=[('verbose', {[LIT_CHARS t]})]) (Com {[LIT_CHARS break]}) ) (Com {[LIT_CHARS shift]}) ) ) (If (Com {[LIT_OTHER "["]} {[DQ [VarSub #]]} {[LIT_OTHER "!"] [LIT_OTHER "="]} {[DQ [LIT_CHARS 1]]} {[LIT_OTHER "]"]}) (Com {[LIT_CHARS usage]}) ) (AndOr OP_OR_IF (= scope= flags=0 words=[] bindings=[('type', {[DQ [ComSub (Com redirects=[(FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 2)]{[LIT_CHARS git]} {[LIT_CHARS cat-file]} {[LIT_CHARS -t]} {[DQ [VarSub 1]]})]]})]) (Com {[LIT_CHARS die]} {[DQ [VarSub 1][LIT_CHARS ": no such object."]]}) ) (AndOr OP_OR_IF (Com {[LIT_CHARS test]} {[DQ [VarSub type]]} {[LIT_OTHER "="]} {[LIT_CHARS tag]}) (Com {[LIT_CHARS die]} {[DQ [VarSub 1][LIT_CHARS ": cannot verify a non-tag object of type "][VarSub type][LIT_CHARS .]]}) ) (Case to_match={[DQ [VarSub verbose]]}, pat_word_list=[[{[LIT_CHARS t]}]] (Pipeline (Com {[LIT_CHARS git]} {[LIT_CHARS cat-file]} {[LIT_CHARS -p]} {[DQ [VarSub 1]]}) (Com {[LIT_CHARS sed]} {[LIT_CHARS -n]} {[LIT_CHARS -e]} {[SQ ]} {[LIT_CHARS -e]} {[LIT_CHARS p]}) ) ) (Com {[LIT_CHARS trap]} {[SQ ]} {[LIT_CHARS 0]}) (AndOr OP_OR_IF (Com {[LIT_CHARS git]} {[LIT_CHARS cat-file]} {[LIT_CHARS tag]} {[DQ [VarSub 1]]} < (FilenameRedirectNode filename={[DQ [VarSub GIT_DIR][LIT_CHARS /.tmp-vtag]]} "> 1), > ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) (AndOr OP_OR_IF (Pipeline (Com {[LIT_CHARS sed]} {[LIT_CHARS -n]} {[LIT_CHARS -e]} {[SQ ]} < (FilenameRedirectNode filename={[DQ [VarSub GIT_DIR][LIT_CHARS /.tmp-vtag]]} 0), > ) (Com {[LIT_CHARS gpg]} {[LIT_CHARS --verify]} {[DQ [VarSub GIT_DIR][LIT_CHARS /.tmp-vtag]]} {[LIT_CHARS -]}) ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) (Com {[LIT_CHARS rm]} {[LIT_CHARS -f]} {[DQ [VarSub GIT_DIR][LIT_CHARS /.tmp-vtag]]}) )