(List (If (Pipeline! (Com {[LIT_CHARS test]} {[DQ [VarSub revision]]}) ) (If (Subshell (AndOr OP_AND_IF (Com {[LIT_CHARS cd]} {[DQ [VarSub 1]]}) (Com {[LIT_CHARS grep]} {[LIT_CHARS git]} {[LIT_CHARS RELEASE]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 2), (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 1), > ) ) ) (= scope= flags=0 words=[] bindings=[('revision', {[ComSub (AndOr OP_AND_IF (Com {[LIT_CHARS cd]} {[DQ [VarSub 1]]}) (Com redirects=[(FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 2)]{[LIT_CHARS git]} {[LIT_CHARS describe]} {[LIT_CHARS --tags]} {[LIT_CHARS --match]} {[LIT_CHARS N]}) )]})]) (ElseTrue) (= scope= flags=0 words=[] bindings=[('revision', {[ComSub (AndOr OP_AND_IF (Com {[LIT_CHARS cd]} {[DQ [VarSub 1]]}) (Com redirects=[(FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 2)]{[LIT_CHARS git]} {[LIT_CHARS describe]} {[LIT_CHARS --tags]} {[LIT_CHARS --always]}) )]})]) ) ) (AndOr OP_OR_IF (Com {[LIT_CHARS test]} {[DQ [VarSub revision]]}) (= scope= flags=0 words=[] bindings=[('revision', {[ComSub (AndOr OP_AND_IF (Com {[LIT_CHARS cd]} {[DQ [VarSub 1]]}) (Com redirects=[(FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 2)]{[LIT_CHARS git]} {[LIT_CHARS log]} {[LIT_CHARS -1]} {[LIT_CHARS --pretty] [LIT_OTHER "="] [LIT_CHARS format] [LIT_OTHER ":"] [DQ [LIT_CHARS "git-%cd-%h"]]} {[LIT_CHARS --date] [LIT_OTHER "="] [LIT_CHARS short]}) )]})]) ) (If (Com {[LIT_OTHER "["]} {[LIT_CHARS -z]} {[DQ [VarSub revision]]} {[LIT_OTHER "]"]}) (List (= scope= flags=0 words=[] bindings=[('srcdir', {[ComSub (AndOr OP_AND_IF (Com {[LIT_CHARS cd]} {[DQ [VarSub 1]]}) (Com {[LIT_CHARS pwd]}) )]})]) (Case to_match={[DQ [VarSub srcdir]]}, pat_word_list=[[{[LIT_OTHER "*"] [LIT_CHARS /ffmpeg-] [LIT_OTHER "["] [LIT_CHARS 0-9a-f] [LIT_OTHER "]"] [LIT_OTHER "["] [LIT_CHARS 0-9a-f] [LIT_OTHER "]"] [LIT_OTHER "["] [LIT_CHARS 0-9a-f] [LIT_OTHER "]"] [LIT_OTHER "["] [LIT_CHARS 0-9a-f] [LIT_OTHER "]"] [LIT_OTHER "["] [LIT_CHARS 0-9a-f] [LIT_OTHER "]"] [LIT_OTHER "["] [LIT_CHARS 0-9a-f] [LIT_OTHER "]"] [LIT_OTHER "["] [LIT_CHARS 0-9a-f] [LIT_OTHER "]"]}], [{[LIT_OTHER "*"] [LIT_CHARS /ffmpeg-HEAD-] [LIT_OTHER "["] [LIT_CHARS 0-9a-f] [LIT_OTHER "]"] [LIT_OTHER "["] [LIT_CHARS 0-9a-f] [LIT_OTHER "]"] [LIT_OTHER "["] [LIT_CHARS 0-9a-f] [LIT_OTHER "]"] [LIT_OTHER "["] [LIT_CHARS 0-9a-f] [LIT_OTHER "]"] [LIT_OTHER "["] [LIT_CHARS 0-9a-f] [LIT_OTHER "]"] [LIT_OTHER "["] [LIT_CHARS 0-9a-f] [LIT_OTHER "]"] [LIT_OTHER "["] [LIT_CHARS 0-9a-f] [LIT_OTHER "]"]}]] (= scope= flags=0 words=[] bindings=[('git_hash', {[DQ [VarSub srcdir transform_ops=[VS_UNARY_DPOUND {[LIT_CHARS "*-"]}]]]})]) (= scope= flags=0 words=[] bindings=[('git_hash', {[DQ [VarSub srcdir transform_ops=[VS_UNARY_DPOUND {[LIT_CHARS "*-"]}]]]})]) ) ) ) (AndOr OP_OR_IF (Com {[LIT_CHARS test]} {[DQ [VarSub revision]]}) (= scope= flags=0 words=[] bindings=[('revision', {[ComSub (AndOr OP_AND_IF (Com {[LIT_CHARS cd]} {[DQ [VarSub 1]]}) (Com redirects=[(FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 2)]{[LIT_CHARS cat]} {[LIT_CHARS RELEASE]}) )]})]) ) (AndOr OP_AND_IF (Com {[LIT_CHARS test]} {[DQ [VarSub revision]]}) (AndOr OP_AND_IF (Com {[LIT_CHARS test]} {[DQ [VarSub git_hash]]}) (= scope= flags=0 words=[] bindings=[('revision', {[DQ [VarSub revision][LIT_CHARS -][VarSub git_hash]]})]) ) ) (= scope= flags=0 words=[] bindings=[('version', {[ComSub (AndOr OP_AND_IF (Com {[LIT_CHARS cd]} {[DQ [VarSub 1]]}) (Com redirects=[(FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 2)]{[LIT_CHARS cat]} {[LIT_CHARS VERSION]}) )]})]) (AndOr OP_OR_IF (Com {[LIT_CHARS test]} {[DQ [VarSub version]]}) (= scope= flags=0 words=[] bindings=[('version', {[VarSub revision]})]) ) (AndOr OP_AND_IF (Com {[LIT_CHARS test]} {[LIT_CHARS -n]} {[DQ [VarSub 3]]}) (= scope= flags=0 words=[] bindings=[('version', {[VarSub version] [LIT_CHARS -] [VarSub 3]})]) ) (If (Com {[LIT_OTHER "["]} {[LIT_CHARS -z]} {[DQ [VarSub 2]]} {[LIT_OTHER "]"]}) (List (Com {[LIT_CHARS echo]} {[DQ [VarSub version]]}) (Com {[LIT_CHARS exit]}) ) ) (= scope= flags=0 words=[] bindings=[('NEW_REVISION', {[DQ [LIT_CHARS "#define FFMPEG_VERSION "][\ LIT_ESCAPED_CHAR "\\\""][VarSub version][\ LIT_ESCAPED_CHAR "\\\""]]})]) (= scope= flags=0 words=[] bindings=[('OLD_REVISION', {[ComSub (Pipeline (Com redirects=[(FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 2)]{[LIT_CHARS cat]} {[DQ [VarSub 2]]}) (Com {[LIT_CHARS head]} {[LIT_CHARS -3]}) (Com {[LIT_CHARS tail]} {[LIT_CHARS -1]}) )]})]) (= scope= flags=0 words=[] bindings=[('GUARD', {[ComSub (Pipeline (Com {[LIT_CHARS echo]} {[DQ [VarSub 2]]}) (Com {[LIT_CHARS sed]} {[SQ ]}) (Com {[LIT_CHARS sed]} {[SQ ]}) (Com {[LIT_CHARS tr]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS sed]} {[SQ ]}) )]})]) (If (Com {[LIT_CHARS test]} {[DQ [VarSub NEW_REVISION]]} {[LIT_OTHER "!"] [LIT_OTHER "="]} {[DQ [VarSub OLD_REVISION]]}) (Com {[LIT_CHARS cat]} < (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "#ifndef "][VarSub GUARD][LIT_CHARS "\n"][LIT_CHARS "#define "][VarSub GUARD][LIT_CHARS "\n"][VarSub NEW_REVISION][LIT_CHARS "\n"][LIT_CHARS "#endif /* "][VarSub GUARD][LIT_CHARS " */\n"]]} 0), (FilenameRedirectNode filename={[DQ [VarSub 2]]} "> 1), > ) ) )