Signed-off-by: Erik Elfström <[email protected]>
---
t/t7300-clean.sh | 72 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 72 insertions(+)
diff --git a/t/t7300-clean.sh b/t/t7300-clean.sh
index 99be5d9..58e6b4a 100755
--- a/t/t7300-clean.sh
+++ b/t/t7300-clean.sh
@@ -455,6 +455,78 @@ test_expect_success 'nested git work tree' '
! test -d bar
'
+test_expect_failure 'nested git (only init) should be kept' '
+ rm -fr foo bar &&
+ git init foo &&
+ mkdir bar &&
+ >bar/goodbye.people &&
+ git clean -f -d &&
+ test_path_is_file foo/.git/HEAD &&
+ test_path_is_missing bar
+'
+
+test_expect_failure 'nested git (bare) should be kept' '
+ rm -fr foo bar &&
+ git init --bare foo &&
+ mkdir bar &&
+ >bar/goodbye.people &&
+ git clean -f -d &&
+ test_path_is_file foo/HEAD &&
+ test_path_is_missing 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_path_is_file foo/.git/HEAD &&
+ test_path_is_dir foo/bar/ &&
+ test_path_is_missing 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_path_is_file foo/.git/HEAD &&
+ test_path_is_dir foo/.git/refs &&
+ test_path_is_dir foo/.git/objects &&
+ test_path_is_dir 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_path_is_dir foo/.git &&
+ test_dir_is_empty 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 [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html