Skip to content

Commit

Permalink
no WSL/Windows git hooks copy for autogen.sh
Browse files Browse the repository at this point in the history
  • Loading branch information
gojimmypi committed Sep 21, 2023
1 parent 9442ec4 commit d5b6aa3
Showing 1 changed file with 33 additions and 5 deletions.
38 changes: 33 additions & 5 deletions autogen.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down

0 comments on commit d5b6aa3

Please sign in to comment.