diff options
author | Junio C Hamano <gitster@pobox.com> | 2016-10-26 23:14:56 +0300 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2016-10-26 23:14:56 +0300 |
commit | 3b1e135b879c401c8e6c0b9acbaefc81054c3d37 (patch) | |
tree | a14f598d29c72dcab446b46b2843c7522dc5263d /t | |
parent | 4abeeb62a04365d7595cd1ef83ce56764c4a8553 (diff) | |
parent | d426430e6ec2a05bf0a4ee88c319dd6072908504 (diff) |
Merge branch 'ex/deprecate-empty-pathspec-as-match-all'
An empty string used as a pathspec element has always meant
'everything matches', but it is too easy to write a script that
finds a path to remove in $path and run 'git rm "$paht"', which
ends up removing everything. Start warning about this use of an
empty string used for 'everything matches' and ask users to use a
more explicit '.' for that instead.
The hope is that existing users will not mind this change, and
eventually the warning can be turned into a hard error, upgrading
the deprecation into removal of this (mis)feature.
* ex/deprecate-empty-pathspec-as-match-all:
pathspec: warn on empty strings as pathspec
Diffstat (limited to 't')
-rwxr-xr-x | t/t3600-rm.sh | 5 | ||||
-rwxr-xr-x | t/t3700-add.sh | 5 |
2 files changed, 10 insertions, 0 deletions
diff --git a/t/t3600-rm.sh b/t/t3600-rm.sh index d046d98aec..14f0edca2b 100755 --- a/t/t3600-rm.sh +++ b/t/t3600-rm.sh @@ -881,4 +881,9 @@ test_expect_success 'rm files with two different errors' ' test_i18ncmp expect actual ' +test_expect_success 'rm empty string should invoke warning' ' + git rm -rf "" 2>output && + test_i18ngrep "warning: empty strings" output +' + test_done diff --git a/t/t3700-add.sh b/t/t3700-add.sh index 53c0cb6dea..f3a4b4a913 100755 --- a/t/t3700-add.sh +++ b/t/t3700-add.sh @@ -331,6 +331,11 @@ test_expect_success 'git add --dry-run --ignore-missing of non-existing file out test_i18ncmp expect.err actual.err ' +test_expect_success 'git add empty string should invoke warning' ' + git add "" 2>output && + test_i18ngrep "warning: empty strings" output +' + test_expect_success 'git add --chmod=[+-]x stages correctly' ' rm -f foo1 && echo foo >foo1 && |