(List (= scope= flags=0 words=[] bindings=[('test_description', {[SQ ]})]) (Com {[LIT_CHARS .]} {[LIT_CHARS ./test-lib.sh]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ file &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ file &&\n"> ]}) (= scope= flags=0 words=[] bindings=[('HOOKDIR', {[DQ [ComSub (Com {[LIT_CHARS git]} {[LIT_CHARS rev-parse]} {[LIT_CHARS --git-dir]})][LIT_CHARS /hooks]]})]) (= scope= flags=0 words=[] bindings=[('HOOK', {[DQ [VarSub HOOKDIR][LIT_CHARS /pre-commit]]})]) (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[DQ [VarSub HOOKDIR]]}) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[DQ [VarSub HOOK]]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "#!/bin/sh\n"][LIT_CHARS "exit 0\n"]]} 0), > ) (Com {[LIT_CHARS chmod]} {[LIT_OTHER "+"] [LIT_CHARS x]} {[DQ [VarSub HOOK]]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ > file &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ > file &&\n"> ]}) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[DQ [VarSub HOOK]]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "#!/bin/sh\n"][LIT_CHARS "exit 1\n"]]} 0), > ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ > file &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ > file &&\n"> ]}) (Com {[LIT_CHARS chmod]} {[LIT_CHARS -x]} {[DQ [VarSub HOOK]]}) (Com {[LIT_CHARS test_expect_success]} {[LIT_CHARS POSIXPERM]} {[SQ ]} {[SQ > file &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[LIT_CHARS POSIXPERM]} {[SQ ]} {[SQ > file &&\n"> ]}) (Com {[LIT_CHARS chmod]} {[LIT_OTHER "+"] [LIT_CHARS x]} {[DQ [VarSub HOOK]]}) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[DQ [VarSub HOOK]]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "#!/bin/sh\n"][LIT_CHARS "test "][\ LIT_ESCAPED_CHAR "\\$"][LIT_CHARS "GIT_PREFIX = success/\n"]]} 0), > ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ > file &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ > file &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ \" \\\n"> ]}) (Com {[LIT_CHARS test_done]}) )