Re: [PATCH 2/2] Add test for git clean -e.
From: Junio C Hamano <hidden>
Date: 2016-06-15 22:49:09
Jared Hance [off-list ref] writes:
quoted hunk
Signed-off-by: Jared Hance <redacted> --- t/t7300-clean.sh | 16 ++++++++++++++++ 1 files changed, 16 insertions(+), 0 deletions(-)diff --git a/t/t7300-clean.sh b/t/t7300-clean.sh index 7d8ed68..3a43571 100755 --- a/t/t7300-clean.sh +++ b/t/t7300-clean.sh@@ -438,4 +438,20 @@ test_expect_success 'force removal of nested git work tree' ' ! test -d bar ' +test_expect_success 'git clean -e' ' + rm -fr repo && + mkdir repo && + ( + cd repo && + git init && + touch 1 2 3 known && + git add known && + git clean -f -e 1 -e 2 && + test -e 1 && + test -e 2 && + ! (test -e 3) && + test -e known + ) +'
This is a good start but it doesn't seem to test possible interactions
with entries in .gitignore file(s) in the working tree. Do we care?
What should happen when a path "path":
(1) is marked to be ignored in .gitignore and -e "path" is also given;
(2) is marked not to be ignored (i.e. "!path") in .gitignore but -e
"path" is given;
(3) is marked to be ignored in .gitignore but -e "!path" is given;
(4) is marked not to be ignored in .gitignore and -e "!path" is also
given;
(5) perhaps other combinations like "!path" in a/.gitignore, and -e "a/path"
from the command line.
What does the code actually do?