(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"> file &&\n"> ]} ) (= scope= flags=0 words=[] bindings=[('sub1sha1', {[ComSub (AndOr OP_AND_IF (Com {[LIT_CHARS cd]} {[LIT_CHARS super/sub1]}) (Com {[LIT_CHARS git]} {[LIT_CHARS rev-parse]} {[LIT_CHARS HEAD]}) )]})]) (= scope= flags=0 words=[] bindings=[('sub3sha1', {[ComSub (AndOr OP_AND_IF (Com {[LIT_CHARS cd]} {[LIT_CHARS super/sub3]}) (Com {[LIT_CHARS git]} {[LIT_CHARS rev-parse]} {[LIT_CHARS HEAD]}) )]})]) (= scope= flags=0 words=[] bindings=[('pwd', {[ComSub (Com {[LIT_CHARS pwd]})]})]) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS expect]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "Entering 'sub1'\n"][VarSub pwd][LIT_CHARS /clone-foo1-sub1-][VarSub sub1sha1][LIT_CHARS "\n"][LIT_CHARS "Entering 'sub3'\n"][VarSub pwd][LIT_CHARS /clone-foo3-sub3-][VarSub sub3sha1][LIT_CHARS "\n"]]} 0), > ) (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_expect_success]} {[SQ ]} {[SQ ]} ) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS expect]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "Entering 'nested1'\n"][LIT_CHARS "Entering 'nested1/nested2'\n"][LIT_CHARS "Entering 'nested1/nested2/nested3'\n"][LIT_CHARS "Entering 'nested1/nested2/nested3/submodule'\n"][LIT_CHARS "Entering 'sub1'\n"][LIT_CHARS "Entering 'sub2'\n"][LIT_CHARS "Entering 'sub3'\n"]]} 0), > ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ../actual\n"> ]} ) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS expect]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "nested1-nested1\n"][LIT_CHARS "nested2-nested2\n"][LIT_CHARS "nested3-nested3\n"][LIT_CHARS "submodule-submodule\n"][LIT_CHARS "foo1-sub1\n"][LIT_CHARS "foo2-sub2\n"][LIT_CHARS "foo3-sub3\n"]]} 0), > ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ../actual\n"> ]} ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]} ) (= scope= flags=0 words=[] bindings=[('nested1sha1', {[ComSub (AndOr OP_AND_IF (Com {[LIT_CHARS cd]} {[LIT_CHARS clone3/nested1]}) (Com {[LIT_CHARS git]} {[LIT_CHARS rev-parse]} {[LIT_CHARS HEAD]}) )]})]) (= scope= flags=0 words=[] bindings=[('nested2sha1', {[ComSub (AndOr OP_AND_IF (Com {[LIT_CHARS cd]} {[LIT_CHARS clone3/nested1/nested2]}) (Com {[LIT_CHARS git]} {[LIT_CHARS rev-parse]} {[LIT_CHARS HEAD]}) )]})]) (= scope= flags=0 words=[] bindings=[('nested3sha1', {[ComSub (AndOr OP_AND_IF (Com {[LIT_CHARS cd]} {[LIT_CHARS clone3/nested1/nested2/nested3]}) (Com {[LIT_CHARS git]} {[LIT_CHARS rev-parse]} {[LIT_CHARS HEAD]}) )]})]) (= scope= flags=0 words=[] bindings=[('submodulesha1', {[ComSub (AndOr OP_AND_IF (Com {[LIT_CHARS cd]} {[LIT_CHARS clone3/nested1/nested2/nested3/submodule]}) (Com {[LIT_CHARS git]} {[LIT_CHARS rev-parse]} {[LIT_CHARS HEAD]}) )]})]) (= scope= flags=0 words=[] bindings=[('sub1sha1', {[ComSub (AndOr OP_AND_IF (Com {[LIT_CHARS cd]} {[LIT_CHARS clone3/sub1]}) (Com {[LIT_CHARS git]} {[LIT_CHARS rev-parse]} {[LIT_CHARS HEAD]}) )]})]) (= scope= flags=0 words=[] bindings=[('sub2sha1', {[ComSub (AndOr OP_AND_IF (Com {[LIT_CHARS cd]} {[LIT_CHARS clone3/sub2]}) (Com {[LIT_CHARS git]} {[LIT_CHARS rev-parse]} {[LIT_CHARS HEAD]}) )]})]) (= scope= flags=0 words=[] bindings=[('sub3sha1', {[ComSub (AndOr OP_AND_IF (Com {[LIT_CHARS cd]} {[LIT_CHARS clone3/sub3]}) (Com {[LIT_CHARS git]} {[LIT_CHARS rev-parse]} {[LIT_CHARS HEAD]}) )]})]) (= scope= flags=0 words=[] bindings=[('sub1sha1_short', {[ComSub (AndOr OP_AND_IF (Com {[LIT_CHARS cd]} {[LIT_CHARS clone3/sub1]}) (Com {[LIT_CHARS git]} {[LIT_CHARS rev-parse]} {[LIT_CHARS --short]} {[LIT_CHARS HEAD]}) )]})]) (= scope= flags=0 words=[] bindings=[('sub2sha1_short', {[ComSub (AndOr OP_AND_IF (Com {[LIT_CHARS cd]} {[LIT_CHARS clone3/sub2]}) (Com {[LIT_CHARS git]} {[LIT_CHARS rev-parse]} {[LIT_CHARS --short]} {[LIT_CHARS HEAD]}) )]})]) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS expect]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS " "][VarSub nested1sha1][LIT_CHARS " nested1 (heads/master)\n"][LIT_CHARS " "][VarSub nested2sha1][LIT_CHARS " nested1/nested2 (heads/master)\n"][LIT_CHARS " "][VarSub nested3sha1][LIT_CHARS " nested1/nested2/nested3 (heads/master)\n"][LIT_CHARS " "][VarSub submodulesha1][LIT_CHARS " nested1/nested2/nested3/submodule (heads/master)\n"][LIT_CHARS " "][VarSub sub1sha1][LIT_CHARS " sub1 ("][VarSub sub1sha1_short][LIT_CHARS ")\n"][LIT_CHARS " "][VarSub sub2sha1][LIT_CHARS " sub2 ("][VarSub sub2sha1_short][LIT_CHARS ")\n"][LIT_CHARS " "][VarSub sub3sha1][LIT_CHARS " sub3 (heads/master)\n"]]} 0), > ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ../actual\n"> ]} ) (Com {[LIT_CHARS sed]} {[LIT_CHARS -e]} {[DQ [LIT_CHARS "/nested1 /s/.*/+"][VarSub nested1sha1][LIT_CHARS " nested1 (file2~1)/;/sub[1-3]/d"]]} < (FilenameRedirectNode filename={[LIT_CHARS expect]} 0), (FilenameRedirectNode filename={[LIT_CHARS expect2]} "> 1), > ) (Com {[LIT_CHARS mv]} {[LIT_CHARS -f]} {[LIT_CHARS expect2]} {[LIT_CHARS expect]} ) (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_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_done]} ) )