Re: [PATCH v2 1/9] t7300: skip untracked dirs containing ignored files
On Sun, May 7, 2017 at 2:12 PM, Torsten Bögershausenwrote: > On 2017-05-05 12:46, Samuel Lijin wrote: >> If git sees a directory which contains only untracked and ignored >> files, clean -d should not remove that directory. It was recently >> discovered that this is *not* true of git clean -d, and it's possible >> that this has never worked correctly; this test and its accompanying >> patch series aims to fix that. >> >> Signed-off-by: Samuel Lijin >> --- >> t/t7300-clean.sh | 10 ++ >> 1 file changed, 10 insertions(+) >> >> diff --git a/t/t7300-clean.sh b/t/t7300-clean.sh >> index b89fd2a6a..252c75b40 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_failure 'git clean -d skips untracked dirs containing ignored >> files' ' >> + echo /foo/bar >.gitignore && >> + rm -rf foo && >> + mkdir -p foo && > Minor remark: > Do we need the -p here, or can it be dropped? Yeah, the -p isn't needed here - will change when I reroll. >> + touch foo/bar && >> + git clean -df && >> + test_path_is_file foo/bar && >> + test_path_is_dir foo >> +' >> + >> test_done >> >
Re: [PATCH v2 1/9] t7300: skip untracked dirs containing ignored files
On 2017-05-05 12:46, Samuel Lijin wrote: > If git sees a directory which contains only untracked and ignored > files, clean -d should not remove that directory. It was recently > discovered that this is *not* true of git clean -d, and it's possible > that this has never worked correctly; this test and its accompanying > patch series aims to fix that. > > Signed-off-by: Samuel Lijin> --- > t/t7300-clean.sh | 10 ++ > 1 file changed, 10 insertions(+) > > diff --git a/t/t7300-clean.sh b/t/t7300-clean.sh > index b89fd2a6a..252c75b40 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_failure 'git clean -d skips untracked dirs containing ignored > files' ' > + echo /foo/bar >.gitignore && > + rm -rf foo && > + mkdir -p foo && Minor remark: Do we need the -p here, or can it be dropped? > + touch foo/bar && > + git clean -df && > + test_path_is_file foo/bar && > + test_path_is_dir foo > +' > + > test_done >
[PATCH v2 1/9] t7300: skip untracked dirs containing ignored files
If git sees a directory which contains only untracked and ignored files, clean -d should not remove that directory. It was recently discovered that this is *not* true of git clean -d, and it's possible that this has never worked correctly; this test and its accompanying patch series aims to fix that. Signed-off-by: Samuel Lijin--- t/t7300-clean.sh | 10 ++ 1 file changed, 10 insertions(+) diff --git a/t/t7300-clean.sh b/t/t7300-clean.sh index b89fd2a6a..252c75b40 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_failure '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 +' + test_done -- 2.12.2