(CommandList children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:test_description) op: Equal rhs: {(SQ <"git reset should cull empty subdirs">)} spids: [13] ) ] spids: [13] ) (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)}) ] )