#!/bin/sh # # Copyright (c) 2007 Johannes E. Schindelin # global test_description := ''Test fsck --lost-found'' source ./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 (CommandList children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:test_description) op: Equal rhs: {(SQ <"Test fsck --lost-found">)} spids: [13] ) ] spids: [13] ) (C {(.)} {(./test-lib.sh)}) (C {(test_expect_success)} {(setup)} { (SQ <"\n"> <"\tgit config core.logAllRefUpdates 0 &&\n"> <"\t: > file1 &&\n"> <"\tgit add file1 &&\n"> <"\ttest_tick &&\n"> <"\tgit commit -m initial &&\n"> <"\techo 1 > file1 &&\n"> <"\techo 2 > file2 &&\n"> <"\tgit add file1 file2 &&\n"> <"\ttest_tick &&\n"> <"\tgit commit -m second &&\n"> <"\techo 3 > file3 &&\n"> <"\tgit add file3\n"> ) } ) (C {(test_expect_success)} {(SQ <"lost and found something">)} { (SQ <"\n"> <"\tgit rev-parse HEAD > lost-commit &&\n"> <"\tgit rev-parse :file3 > lost-other &&\n"> <"\ttest_tick &&\n"> <"\tgit reset --hard HEAD^ &&\n"> <"\tgit fsck --lost-found &&\n"> <"\ttest 2 = $(ls .git/lost-found/*/* | wc -l) &&\n"> <"\ttest -f .git/lost-found/commit/$(cat lost-commit) &&\n"> <"\ttest -f .git/lost-found/other/$(cat lost-other)\n"> ) } ) (C {(test_done)}) ] )