(List (= scope= flags=0 words=[] bindings=[('test_description', {[SQ ]})]) (Com {[LIT_CHARS .]} {[LIT_CHARS ./test-lib.sh]}) (FunctionDef compare_head [] (List (= scope= flags=0 words=[] bindings=[('sha_master', {[ComSub (Com {[LIT_CHARS git]} {[LIT_CHARS rev-list]} {[LIT_CHARS --max-count] [LIT_OTHER "="] [LIT_CHARS 1]} {[LIT_CHARS master]})]})]) (= scope= flags=0 words=[] bindings=[('sha_head', {[ComSub (Com {[LIT_CHARS git]} {[LIT_CHARS rev-list]} {[LIT_CHARS --max-count] [LIT_OTHER "="] [LIT_CHARS 1]} {[LIT_CHARS HEAD]})]})]) (Com {[LIT_CHARS test]} {[DQ [VarSub sha_master]]} {[LIT_OTHER "="]} {[DQ [VarSub sha_head]]}) ) ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ file &&\n"> file &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (= scope= flags=0 words=[] bindings=[('supersha1', {[ComSub (Com {[LIT_CHARS git]} {[LIT_CHARS -C]} {[LIT_CHARS super]} {[LIT_CHARS rev-parse]} {[LIT_CHARS HEAD]})]})]) (= scope= flags=0 words=[] bindings=[('mergingsha1', {[ComSub (Com {[LIT_CHARS git]} {[LIT_CHARS -C]} {[LIT_CHARS super/merging]} {[LIT_CHARS rev-parse]} {[LIT_CHARS HEAD]})]})]) (= scope= flags=0 words=[] bindings=[('nonesha1', {[ComSub (Com {[LIT_CHARS git]} {[LIT_CHARS -C]} {[LIT_CHARS super/none]} {[LIT_CHARS rev-parse]} {[LIT_CHARS HEAD]})]})]) (= scope= flags=0 words=[] bindings=[('rebasingsha1', {[ComSub (Com {[LIT_CHARS git]} {[LIT_CHARS -C]} {[LIT_CHARS super/rebasing]} {[LIT_CHARS rev-parse]} {[LIT_CHARS HEAD]})]})]) (= scope= flags=0 words=[] bindings=[('submodulesha1', {[ComSub (Com {[LIT_CHARS git]} {[LIT_CHARS -C]} {[LIT_CHARS super/submodule]} {[LIT_CHARS rev-parse]} {[LIT_CHARS HEAD]})]})]) (= scope= flags=0 words=[] bindings=[('pwd', {[ComSub (Com {[LIT_CHARS pwd]})]})]) (Com {[LIT_CHARS cat]} < (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "Submodule path '../super': checked out '"][VarSub supersha1][LIT_CHARS "'\n"][LIT_CHARS "Submodule path '../super/merging': checked out '"][VarSub mergingsha1][LIT_CHARS "'\n"][LIT_CHARS "Submodule path '../super/none': checked out '"][VarSub nonesha1][LIT_CHARS "'\n"][LIT_CHARS "Submodule path '../super/rebasing': checked out '"][VarSub rebasingsha1][LIT_CHARS "'\n"][LIT_CHARS "Submodule path '../super/submodule': checked out '"][VarSub submodulesha1][LIT_CHARS "'\n"]]} 0), (FilenameRedirectNode filename={[LIT_CHARS expect]} "> 1), > ) (Com {[LIT_CHARS cat]} < (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "Submodule 'merging' ("][VarSub pwd][LIT_CHARS "/merging) registered for path '../super/merging'\n"][LIT_CHARS "Submodule 'none' ("][VarSub pwd][LIT_CHARS "/none) registered for path '../super/none'\n"][LIT_CHARS "Submodule 'rebasing' ("][VarSub pwd][LIT_CHARS "/rebasing) registered for path '../super/rebasing'\n"][LIT_CHARS "Submodule 'submodule' ("][VarSub pwd][LIT_CHARS "/submodule) registered for path '../super/submodule'\n"][LIT_CHARS "Cloning into '"][VarSub pwd][LIT_CHARS "/recursivesuper/super/merging'...\n"][LIT_CHARS "done.\n"][LIT_CHARS "Cloning into '"][VarSub pwd][LIT_CHARS "/recursivesuper/super/none'...\n"][LIT_CHARS "done.\n"][LIT_CHARS "Cloning into '"][VarSub pwd][LIT_CHARS "/recursivesuper/super/rebasing'...\n"][LIT_CHARS "done.\n"][LIT_CHARS "Cloning into '"][VarSub pwd][LIT_CHARS "/recursivesuper/super/submodule'...\n"][LIT_CHARS "done.\n"]]} 0), (FilenameRedirectNode filename={[LIT_CHARS expect2]} "> 1), > ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ../../actual 2>../../actual2\n"> ]}) (= scope= flags=0 words=[] bindings=[('apos', {[DQ [LIT_CHARS "'"]]})]) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ > file &&\n"> ../../expected &&\n"> ../actual 2> ../actual.err\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ file\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ > file &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ > file &&\n"> actual\n"> expect\n"> actual\n"> expect\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ > file &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS cat]} < (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "Execution of 'false "][VarSub submodulesha1][LIT_CHARS "' failed in submodule path 'submodule'\n"]]} 0), (FilenameRedirectNode filename={[LIT_CHARS expect]} "> 1), > ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ../actual\n"> ]}) (Com {[LIT_CHARS cat]} < (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "Execution of 'false "][VarSub submodulesha1][LIT_CHARS "' failed in submodule path '../submodule'\n"]]} 0), (FilenameRedirectNode filename={[LIT_CHARS expect]} "> 1), > ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ../../actual\n"> ]}) (Com {[LIT_CHARS cat]} < (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "Execution of 'false "][VarSub submodulesha1][LIT_CHARS "' failed in submodule path '../super/submodule'\n"][LIT_CHARS "Failed to recurse into submodule path '../super'\n"]]} 0), (FilenameRedirectNode filename={[LIT_CHARS expect]} "> 1), > ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ../../actual\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ expect &&\n"> actual &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ expect &&\n"> actual &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ expect &&\n"> actual &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ expect &&\n"> actual &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ expect &&\n"> actual &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ../expect\n"> file\n"> ../actual\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ../expect &&\n"> file\n"> ../actual\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ file\n"> ../expect\n"> ../actual\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ file\n"> ../expect\n"> ../actual\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ../../expected\n"> ../../../../actual\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ../../expected\n"> ../../../../actual\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ../../../expected\n"> ../../../../../actual\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ actual &&\n"> ../../expected\n"> ../../../../../actual\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ expect &&\n"> actual &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[LIT_CHARS SYMLINKS]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ .gitmodules.tmp &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ .gitmodules.tmp &&\n"> actual &&\n"> actual &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ actual &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_done]}) )