(command.CommandList children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:test_description) op: assign_op.Equal rhs: {(SQ (Token id:Id.Lit_Chars val:'git reset should cull empty subdirs' span_id:15))} spids: [13] ) ] ) (C {(.)} {(./test-lib.sh)}) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'creating initial files' span_id:28))} { (SQ (Token id:Id.Lit_Chars val:'mkdir path0 &&\n' span_id:34) (Token id: Id.Lit_Chars val: ' cp "$TEST_DIRECTORY"/../COPYING path0/COPYING &&\n' span_id: 35 ) (Token id:Id.Lit_Chars val:' git add path0/COPYING &&\n' span_id:36) (Token id:Id.Lit_Chars val:' git commit -m add -a' span_id:37) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'creating second files' span_id:46))} { (SQ (Token id:Id.Lit_Chars val:'mkdir path1 &&\n' span_id:52) (Token id:Id.Lit_Chars val:' mkdir path1/path2 &&\n' span_id:53) (Token id: Id.Lit_Chars val: ' cp "$TEST_DIRECTORY"/../COPYING path1/path2/COPYING &&\n' span_id: 54 ) (Token id:Id.Lit_Chars val:' cp "$TEST_DIRECTORY"/../COPYING path1/COPYING &&\n' span_id:55) (Token id: Id.Lit_Chars val: ' cp "$TEST_DIRECTORY"/../COPYING COPYING &&\n' span_id: 56 ) (Token id:Id.Lit_Chars val:' cp "$TEST_DIRECTORY"/../COPYING path0/COPYING-TOO &&\n' span_id:57) (Token id:Id.Lit_Chars val:' git add path1/path2/COPYING &&\n' span_id:58) (Token id:Id.Lit_Chars val:' git add path1/COPYING &&\n' span_id:59) (Token id:Id.Lit_Chars val:' git add COPYING &&\n' span_id:60) (Token id:Id.Lit_Chars val:' git add path0/COPYING-TOO &&\n' span_id:61) (Token id:Id.Lit_Chars val:' git commit -m change -a' span_id:62) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'resetting tree HEAD^' span_id:71))} {(SQ (Token id:Id.Lit_Chars val:'git reset --hard HEAD^' span_id:77))} ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'checking initial files exist after rewind' span_id:86))} { (SQ (Token id:Id.Lit_Chars val:'test -d path0 &&\n' span_id:92) (Token id:Id.Lit_Chars val:' test -f path0/COPYING' span_id:93) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'checking lack of path1/path2/COPYING' span_id:102))} {(SQ (Token id:Id.Lit_Chars val:'! test -f path1/path2/COPYING' span_id:108))} ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'checking lack of path1/COPYING' span_id:117))} {(SQ (Token id:Id.Lit_Chars val:'! test -f path1/COPYING' span_id:123))} ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'checking lack of COPYING' span_id:132))} {(SQ (Token id:Id.Lit_Chars val:'! test -f COPYING' span_id:138))} ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'checking checking lack of path1/COPYING-TOO' span_id:147))} {(SQ (Token id:Id.Lit_Chars val:'! test -f path0/COPYING-TOO' span_id:153))} ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'checking lack of path1/path2' span_id:162))} {(SQ (Token id:Id.Lit_Chars val:'! test -d path1/path2' span_id:168))} ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'checking lack of path1' span_id:177))} {(SQ (Token id:Id.Lit_Chars val:'! test -d path1' span_id:183))} ) (C {(test_done)}) ] )