Merge pull request #6798 from gojimmypi/autogen-update-wsl-pr

no WSL/Windows git hooks from autogen.sh
pull/6814/head
JacobBarthelmeh 2023-09-26 16:59:41 -06:00 committed by GitHub
commit a97e13f823
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 33 additions and 5 deletions

View File

@ -3,16 +3,44 @@
# Create configure and makefile stuff...
#
# Check environment
if [ -n "$WSL_DISTRO_NAME" ]; then
# we found a non-blank WSL environment distro name
current_path="$(pwd)"
pattern="/mnt/?"
if [ "$(echo "$current_path" | grep -E "^$pattern")" ]; then
# if we are in WSL and shared Windows file system, 'ln' does not work.
no_links=true
else
no_links=
fi
fi
# Git hooks should come before autoreconf.
if [ -d .git ]; then
if [ ! -d .git/hooks ]; then
mkdir .git/hooks || exit $?
fi
if [ ! -e .git/hooks/pre-commit ]; then
ln -s ../../pre-commit.sh .git/hooks/pre-commit || exit $?
fi
if [ ! -e .git/hooks/pre-push ]; then
ln -s ../../pre-push.sh .git/hooks/pre-push || exit $?
if [ -n "$no_links" ]; then
echo "Linux ln does not work on shared Windows file system in WSL."
if [ ! -e .git/hooks/pre-commit ]; then
echo "The pre-commit.sh file will not be copied to .git/hooks/pre-commit"
# shell scripts do not work on Windows; TODO create equivalent batch file
# cp ./pre-commit.sh .git/hooks/pre-commit || exit $?
fi
if [ ! -e .git/hooks/pre-push ]; then
echo "The pre-push.sh file will not be copied to .git/hooks/pre-commit"
# shell scripts do not work on Windows; TODO create equivalent batch file
# cp ./pre-push.sh .git/hooks/pre-push || exit $?
fi
else
if [ ! -e .git/hooks/pre-commit ]; then
ln -s ../../pre-commit.sh .git/hooks/pre-commit || exit $?
fi
if [ ! -e .git/hooks/pre-push ]; then
ln -s ../../pre-push.sh .git/hooks/pre-push || exit $?
fi
fi
fi