aboutsummaryrefslogtreecommitdiff
path: root/t
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2014-03-18 14:04:59 -0700
committerJunio C Hamano <gitster@pobox.com>2014-03-18 14:04:59 -0700
commit9526473f110338d23524ea663eb282a36c7fe4f3 (patch)
tree3c453cb4d879678b9998082dc2eb0ca560863b5e /t
parent01e13d0221e73febdcb98e26b4ae2882887421d8 (diff)
parent1f2e1088871e777355025a84f80a2d8b5cb04c06 (diff)
downloadgit-9526473f110338d23524ea663eb282a36c7fe4f3.tar.gz
git-9526473f110338d23524ea663eb282a36c7fe4f3.tar.xz
Merge branch 'jk/clean-d-pathspec' into maint
"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 710be9048..74de814ae 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