| #!/bin/sh | 
 | # | 
 | # Copyright (c) 2006 Shawn Pearce | 
 | # | 
 |  | 
 | test_description='git reset should cull empty subdirs' | 
 |  | 
 | TEST_PASSES_SANITIZE_LEAK=true | 
 | . ./test-lib.sh | 
 | . "$TEST_DIRECTORY"/lib-diff-data.sh | 
 |  | 
 | test_expect_success 'creating initial files' ' | 
 | 	mkdir path0 && | 
 | 	COPYING_test_data >path0/COPYING && | 
 | 	git add path0/COPYING && | 
 | 	git commit -m add -a | 
 | ' | 
 |  | 
 | test_expect_success 'creating second files' ' | 
 | 	mkdir path1 && | 
 | 	mkdir path1/path2 && | 
 | 	COPYING_test_data >path1/path2/COPYING && | 
 | 	COPYING_test_data >path1/COPYING && | 
 | 	COPYING_test_data >COPYING && | 
 | 	COPYING_test_data >path0/COPYING-TOO && | 
 | 	git add path1/path2/COPYING && | 
 | 	git add path1/COPYING && | 
 | 	git add COPYING && | 
 | 	git add path0/COPYING-TOO && | 
 | 	git commit -m change -a | 
 | ' | 
 |  | 
 | test_expect_success 'resetting tree HEAD^' ' | 
 | 	git reset --hard HEAD^ | 
 | ' | 
 |  | 
 | test_expect_success 'checking initial files exist after rewind' ' | 
 | 	test -d path0 && | 
 | 	test -f path0/COPYING | 
 | ' | 
 |  | 
 | test_expect_success 'checking lack of path1/path2/COPYING' ' | 
 | 	! test -f path1/path2/COPYING | 
 | ' | 
 |  | 
 | test_expect_success 'checking lack of path1/COPYING' ' | 
 | 	! test -f path1/COPYING | 
 | ' | 
 |  | 
 | test_expect_success 'checking lack of COPYING' ' | 
 | 	! test -f COPYING | 
 | ' | 
 |  | 
 | test_expect_success 'checking checking lack of path1/COPYING-TOO' ' | 
 | 	! test -f path0/COPYING-TOO | 
 | ' | 
 |  | 
 | test_expect_success 'checking lack of path1/path2' ' | 
 | 	! test -d path1/path2 | 
 | ' | 
 |  | 
 | test_expect_success 'checking lack of path1' ' | 
 | 	! test -d path1 | 
 | ' | 
 |  | 
 | test_done |