Browse Source
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>maint
Johannes Schindelin
18 years ago
committed by
Junio C Hamano
3 changed files with 62 additions and 1 deletions
@ -0,0 +1,35 @@
@@ -0,0 +1,35 @@
|
||||
#!/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 |
Loading…
Reference in new issue