(command.CommandList children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'test_description='> name:test_description) op: assign_op.Equal rhs: {(SQ <'git reset should cull empty subdirs'>)} spids: [13] ) ] redirects: [] ) (C {<.>} {<'./test-lib.sh'>}) (C {<test_expect_success>} {(SQ <'creating initial files'>)} { (SQ <'mkdir path0 &&\n'> <' cp "$TEST_DIRECTORY"/../COPYING path0/COPYING &&\n'> <' git add path0/COPYING &&\n'> <' git commit -m add -a'> ) } ) (C {<test_expect_success>} {(SQ <'creating second files'>)} { (SQ <'mkdir path1 &&\n'> <' mkdir path1/path2 &&\n'> <' cp "$TEST_DIRECTORY"/../COPYING path1/path2/COPYING &&\n'> <' cp "$TEST_DIRECTORY"/../COPYING path1/COPYING &&\n'> <' cp "$TEST_DIRECTORY"/../COPYING COPYING &&\n'> <' cp "$TEST_DIRECTORY"/../COPYING path0/COPYING-TOO &&\n'> <' git add path1/path2/COPYING &&\n'> <' git add path1/COPYING &&\n'> <' git add COPYING &&\n'> <' git add path0/COPYING-TOO &&\n'> <' git commit -m change -a'> ) } ) (C {<test_expect_success>} {(SQ <'resetting tree HEAD^'>)} {(SQ <'git reset --hard HEAD^'>)}) (C {<test_expect_success>} {(SQ <'checking initial files exist after rewind'>)} {(SQ <'test -d path0 &&\n'> <' test -f path0/COPYING'>)} ) (C {<test_expect_success>} {(SQ <'checking lack of path1/path2/COPYING'>)} {(SQ <'! test -f path1/path2/COPYING'>)} ) (C {<test_expect_success>} {(SQ <'checking lack of path1/COPYING'>)} {(SQ <'! test -f path1/COPYING'>)} ) (C {<test_expect_success>} {(SQ <'checking lack of COPYING'>)} {(SQ <'! test -f COPYING'>)}) (C {<test_expect_success>} {(SQ <'checking checking lack of path1/COPYING-TOO'>)} {(SQ <'! test -f path0/COPYING-TOO'>)} ) (C {<test_expect_success>} {(SQ <'checking lack of path1/path2'>)} {(SQ <'! test -d path1/path2'>)}) (C {<test_expect_success>} {(SQ <'checking lack of path1'>)} {(SQ <'! test -d path1'>)}) (C {<test_done>}) ] )