]> git.ipfire.org Git - thirdparty/git.git/commitdiff
clean: demonstrate a bug with pathspecs
authorDerrick Stolee <dstolee@microsoft.com>
Thu, 16 Jan 2020 20:21:53 +0000 (20:21 +0000)
committerJunio C Hamano <gitster@pobox.com>
Thu, 16 Jan 2020 20:56:12 +0000 (12:56 -0800)
b9670c1f5e (dir: fix checks on common prefix directory, 2019-12-19)
modified the way pathspecs are handled when handling a directory
during "git clean -f <path>". While this improved the behavior for
known test breakages, it also regressed in how the clean command
handles cleaning a specified file.

Add a test case that demonstrates this behavior. This test passes
before b9670c1f5e then fails after.

Helped-by: Kevin Willford <Kevin.Willford@microsoft.com>
Signed-off-by: Derrick Stolee <dstolee@microsoft.com>
Reviewed-by: Elijah Newren <newren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t7300-clean.sh

index 6e6d24c1c3a5c5397241e266c09fe214ec14d53f..782e125c89e77c1dc0ed88050c98c82679c8b0f2 100755 (executable)
@@ -737,4 +737,13 @@ test_expect_success MINGW 'handle clean & core.longpaths = false nicely' '
        test_i18ngrep "too long" .git/err
 '
 
+test_expect_failure 'clean untracked paths by pathspec' '
+       git init untracked &&
+       mkdir untracked/dir &&
+       echo >untracked/dir/file.txt &&
+       git -C untracked clean -f dir/file.txt &&
+       ls untracked/dir >actual &&
+       test_must_be_empty actual
+'
+
 test_done