| #!/bin/sh | 
 | # | 
 | # Copyright (c) 2007 Johannes E. Schindelin | 
 | # | 
 |  | 
 | test_description='Test fsck --lost-found' | 
 | . ./test-lib.sh | 
 |  | 
 | test_expect_success setup ' | 
 | 	git config core.logAllRefUpdates 0 && | 
 | 	: > file1 && | 
 | 	git add file1 && | 
 | 	test_tick && | 
 | 	git commit -m initial && | 
 | 	echo 1 > file1 && | 
 | 	echo 2 > file2 && | 
 | 	git add file1 file2 && | 
 | 	test_tick && | 
 | 	git commit -m second && | 
 | 	echo 3 > file3 && | 
 | 	git add file3 | 
 | ' | 
 |  | 
 | test_expect_success 'lost and found something' ' | 
 | 	git rev-parse HEAD > lost-commit && | 
 | 	git rev-parse :file3 > lost-other && | 
 | 	test_tick && | 
 | 	git reset --hard HEAD^ && | 
 | 	git fsck --lost-found && | 
 | 	test 2 = $(ls .git/lost-found/*/* | wc -l) && | 
 | 	test -f .git/lost-found/commit/$(cat lost-commit) && | 
 | 	test -f .git/lost-found/other/$(cat lost-other) | 
 | ' | 
 |  | 
 | test_done |