summaryrefslogtreecommitdiff
path: root/t
diff options
context:
space:
mode:
authorLibravatar Junio C Hamano <gitster@pobox.com>2014-03-18 13:47:57 -0700
committerLibravatar Junio C Hamano <gitster@pobox.com>2014-03-18 13:47:57 -0700
commit15520a858f5c3468eaa7f9c844218714d3bc1687 (patch)
treed8dfba48ab92b5bd0430de48fe98f3664148a924 /t
parentUpdate draft release notes to Git 2.0 (diff)
parentclean: simplify dir/not-dir logic (diff)
downloadtgif-15520a858f5c3468eaa7f9c844218714d3bc1687.tar.xz
Merge branch 'jk/clean-d-pathspec'
"git clean -d pathspec" did not use the given pathspec correctly and ended up cleaning too much. * jk/clean-d-pathspec: clean: simplify dir/not-dir logic clean: respect pathspecs with "-d"
Diffstat (limited to 't')
-rwxr-xr-xt/t7300-clean.sh16
1 files changed, 16 insertions, 0 deletions
diff --git a/t/t7300-clean.sh b/t/t7300-clean.sh
index 710be90489..74de814aec 100755
--- a/t/t7300-clean.sh
+++ b/t/t7300-clean.sh
@@ -511,4 +511,20 @@ test_expect_success SANITY 'git clean -d with an unreadable empty directory' '
! test -d foo
'
+test_expect_success 'git clean -d respects pathspecs (dir is prefix of pathspec)' '
+ mkdir -p foo &&
+ mkdir -p foobar &&
+ git clean -df foobar &&
+ test_path_is_dir foo &&
+ test_path_is_missing foobar
+'
+
+test_expect_success 'git clean -d respects pathspecs (pathspec is prefix of dir)' '
+ mkdir -p foo &&
+ mkdir -p foobar &&
+ git clean -df foo &&
+ test_path_is_missing foo &&
+ test_path_is_dir foobar
+'
+
test_done