t: restrict `is_hidden` to be called only on Windows

The function won't work anywhere else, so let's mark it as an explicit
bug if it is called on a non-Windows platform.

Let's also rename the function to avoid cluttering the global namespace
with an overly-generic function name.

While at it, we also fix the code comment above that function: the
lower-case `windows` refers to something different than `Windows`.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Johannes Schindelin 2020-04-11 13:40:22 +00:00 коммит произвёл Junio C Hamano
Родитель 9814d0a4ad
Коммит 176a66a748
3 изменённых файлов: 9 добавлений и 6 удалений

Просмотреть файл

@ -399,7 +399,7 @@ test_expect_success MINGW '.git hidden' '
mkdir newdir &&
cd newdir &&
git init &&
is_hidden .git
test_path_is_hidden .git
) &&
check_config newdir/.git false unset
'

Просмотреть файл

@ -96,13 +96,13 @@ test_expect_success MINGW 'clone -c core.hideDotFiles' '
test_commit attributes .gitattributes "" &&
rm -rf child &&
git clone -c core.hideDotFiles=false . child &&
! is_hidden child/.gitattributes &&
! test_path_is_hidden child/.gitattributes &&
rm -rf child &&
git clone -c core.hideDotFiles=dotGitOnly . child &&
! is_hidden child/.gitattributes &&
! test_path_is_hidden child/.gitattributes &&
rm -rf child &&
git clone -c core.hideDotFiles=true . child &&
is_hidden child/.gitattributes
test_path_is_hidden child/.gitattributes
'
test_done

Просмотреть файл

@ -1544,8 +1544,11 @@ test_bitmap_traversal () {
rm -f "$1.normalized" "$2.normalized"
}
# Tests for the hidden file attribute on windows
is_hidden () {
# Tests for the hidden file attribute on Windows
test_path_is_hidden () {
test_have_prereq MINGW ||
BUG "test_path_is_hidden can only be used on Windows"
# Use the output of `attrib`, ignore the absolute path
case "$("$SYSTEMROOT"/system32/attrib "$1")" in *H*?:*) return 0;; esac
return 1