68f6c019fd
With this option, dangling objects are not only reported, but also written to .git/lost-found/commit/ or .git/lost-found/other/. This option implies '--full' and '--no-reflogs'. 'git fsck --lost-found' is meant as a replacement for git-lost-found. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
36 lines
749 B
Bash
Executable File
36 lines
749 B
Bash
Executable File
#!/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
|