2007-07-03 08:33:54 +08:00
|
|
|
#!/bin/sh
|
|
|
|
#
|
|
|
|
# Copyright (c) 2007 Johannes E. Schindelin
|
|
|
|
#
|
|
|
|
|
|
|
|
test_description='Test fsck --lost-found'
|
2021-10-31 06:24:13 +08:00
|
|
|
|
|
|
|
TEST_PASSES_SANITIZE_LEAK=true
|
2007-07-03 08:33:54 +08:00
|
|
|
. ./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
|