Re: [PATCH 1/7] t7300: skip untracked dirs containing ignored files
From: Samuel Lijin <hidden>
Date: 2017-05-03 18:27:25
On Wed, May 3, 2017 at 1:19 PM, Stefan Beller [off-list ref] wrote:
On Tue, May 2, 2017 at 8:29 PM, Samuel Lijin [off-list ref] wrote:quoted
If git sees a directory which contains only untracked and ignored files, clean -d should not remove that directory.Yes that states a fact; it is not clear why we want to have this test here and now. (Is it testing for a recently fixed regression?)
It was recently discovered that this is not true of clean -d (and I'm not sure if it ever was, to be honest). See http://public-inbox.org/git/xmqqshkof6jd.fsf@gitster.mtv.corp.google.com/T/#mf541c06250724bb000461d210b4ed157e415a596
Are you just introducing the test to demonstrate it keeps working later on? Do you plan on changing this behavior in a later patch?)
The idea was to introduce the broken test and then have the rest of the patch series fix it; Junio pointed out to me (off-list, since he was responding from his phone, I think) that I got the convention backwards, so I'll be changing this in the next version.
quoted
--- t/t7300-clean.sh | 10 ++++++++++ 1 file changed, 10 insertions(+)diff --git a/t/t7300-clean.sh b/t/t7300-clean.sh index b89fd2a6a..948a455e8 100755 --- a/t/t7300-clean.sh +++ b/t/t7300-clean.sh@@ -653,4 +653,14 @@ test_expect_success 'git clean -d respects pathspecs (pathspec is prefix of dir) test_path_is_dir foobar ' +test_expect_success 'git clean -d skips untracked dirs containing ignored files' ' + echo /foo/bar >.gitignore && + rm -rf foo && + mkdir -p foo && + touch foo/bar && + git clean -df && + test_path_is_file foo/bar && + test_path_is_dir foo +'The test makes sense, though I am wondering if we can integrate this test into another test e.g. "ok 15 - git clean -d". Is the -f flag needed?
Will look into both.
Thanks, Stefan