no WSL/Windows git hooks from autogen.sh

pull/600/head
gojimmypi 2023-10-06 16:23:08 -07:00
parent 7ecb37e484
commit 76dedcb515
1 changed files with 40 additions and 3 deletions

View File

@ -2,10 +2,47 @@
#
# 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 test -d .git
then
mkdir -p .git/hooks && ln -sf ../../scripts/pre-commit.sh .git/hooks/pre-commit
if [ -d .git ]; then
if [ ! -d .git/hooks ]; then
mkdir .git/hooks || exit $?
fi
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
# unlike wolfssl, wolfssh is not using pre-push.sh at this time. Enable as needed:
# 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 -sf ../../scripts/pre-commit.sh .git/hooks/pre-commit || exit $?
fi
# unlike wolfssl, wolfssh is not using pre-push.sh at this time Enable as needed:
# if [ ! -e .git/hooks/pre-push ]; then
# ln -s ../../pre-push.sh .git/hooks/pre-push || exit $?
# fi
fi
fi
# If this is a source checkout then call autoreconf with error as well