will fix! On Tue, Apr 7, 2015 at 12:06 AM, Eric Sunshine <sunshine@xxxxxxxxxxxxxx> wrote: > On Mon, Apr 6, 2015 at 7:48 AM, Erik Elfström <erik.elfstrom@xxxxxxxxx> wrote: >> Signed-off-by: Erik Elfström <erik.elfstrom@xxxxxxxxx> >> --- >> diff --git a/t/t7300-clean.sh b/t/t7300-clean.sh >> index 99be5d9..cfdf6d4 100755 >> --- a/t/t7300-clean.sh >> +++ b/t/t7300-clean.sh >> @@ -455,6 +455,88 @@ test_expect_success 'nested git work tree' ' >> ! test -d bar >> ' >> >> +test_expect_failure 'nested git (only init) should be kept' ' >> + rm -fr foo bar && >> + mkdir foo bar && >> + ( >> + cd foo && >> + git init >> + ) && >> + ( >> + cd bar && >> + >goodbye.people >> + ) && > > (minor; ignore if desired) The above could be simplified to: > > rm -fr foo bar && > git init foo && > mkdir bar && > >bar/goodbye.people && > >> + git clean -f -d && >> + test -f foo/.git/HEAD && >> + ! test -d bar > > Here and elsewhere, you could instead use test_path_is_file() and > test_path_is_missing(), respectively. > >> +' >> + >> +test_expect_failure 'nested git (bare) should be kept' ' >> + rm -fr foo bar && >> + mkdir foo bar && >> + ( >> + cd foo && >> + git init --bare >> + ) && >> + ( >> + cd bar && >> + >goodbye.people >> + ) && > > Simplified: > > rm -fr foo bar && > git init --bare foo && > mkdir bar && > >bar/goodbye.people && > >> + git clean -f -d && >> + test -f foo/HEAD && >> + ! test -d bar >> +' >> + >> +test_expect_success 'giving path in nested git work tree will remove it' ' >> + rm -fr foo && >> + mkdir foo && >> + ( >> + cd foo && >> + git init && >> + mkdir -p bar/baz && >> + cd bar/baz && >> + >hello.world >> + git add . && >> + git commit -a -m nested >> + ) && >> + git clean -f -d foo/bar/baz && >> + test -f foo/.git/HEAD && >> + test -d foo/bar/ && > > Alternative, here and elsewhere: test_path_is_dir() > >> + ! test -d foo/bar/baz >> +' >> + >> +test_expect_success 'giving path to nested .git will not remove it' ' >> + rm -fr foo && >> + mkdir foo bar && >> + ( >> + cd foo && >> + git init && >> + >hello.world >> + git add . && >> + git commit -a -m nested >> + ) && >> + git clean -f -d foo/.git && >> + test -f foo/.git/HEAD && >> + test -d foo/.git/refs && >> + test -d foo/.git/objects && >> + test -d bar/ >> +' >> + >> +test_expect_success 'giving path to nested .git/ will remove contents' ' >> + rm -fr foo bar && >> + mkdir foo bar && >> + ( >> + cd foo && >> + git init && >> + >hello.world >> + git add . && >> + git commit -a -m nested >> + ) && >> + git clean -f -d foo/.git/ && >> + test 0 = $(ls -A foo/.git | wc -l) && > > Although in the latest POSIX, -A may not be portable. > > Alternative: test_dir_is_empty() > >> + test -d foo/.git >> +' >> + >> test_expect_success 'force removal of nested git work tree' ' >> rm -fr foo bar baz && >> mkdir -p foo bar baz/boo && >> -- >> 2.4.0.rc0.37.ga3b75b3 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html