diff options
author | Elijah Newren <newren@gmail.com> | 2021-05-12 20:28:18 +0300 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2021-05-13 02:45:03 +0300 |
commit | a97c7a8bc4f2068b2e8c23ce8d17f7db8333ded0 (patch) | |
tree | 629aba00395e8d427f3cbc6b08f310d1f68c6b68 /t/t7300-clean.sh | |
parent | 2e4e43a6910393d681d095f515d41232c2372966 (diff) |
t3001, t7300: add testcase showcasing missed directory traversal
In the last commit, we added a testcase showing that the directory
traversal machinery sometimes traverses into directories unnecessarily.
Here we show that there are cases where it does the opposite: it does
not traverse into directories, despite those directories having
important files that need to be flagged.
Add a testcase showing that `git ls-files -o -i --directory` can omit
some of the files it should be listing, and another showing that `git
clean -fX` can fail to clean out some of the expected files.
Signed-off-by: Elijah Newren <newren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/t7300-clean.sh')
-rwxr-xr-x | t/t7300-clean.sh | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/t/t7300-clean.sh b/t/t7300-clean.sh index 07e8ba2d4b..34c08c3254 100755 --- a/t/t7300-clean.sh +++ b/t/t7300-clean.sh @@ -769,4 +769,23 @@ test_expect_failure 'avoid traversing into ignored directories' ' test_cmp trace.expect trace.relevant ' +test_expect_failure 'traverse into directories that may have ignored entries' ' + test_when_finished rm -f output && + test_create_repo need-to-traverse-into-hierarchy && + ( + cd need-to-traverse-into-hierarchy && + mkdir -p modules/foobar/src/generated && + > modules/foobar/src/generated/code.c && + > modules/foobar/Makefile && + echo "/modules/**/src/generated/" >.gitignore && + + git clean -fX modules/foobar >../output && + + grep Removing ../output && + + test_path_is_missing modules/foobar/src/generated/code.c && + test_path_is_file modules/foobar/Makefile + ) +' + test_done |