Use virtualenv python from install-time for less virtualenv requirements at commit time.

This commit is contained in:
Anthony Sottile 2014-09-04 08:44:07 -07:00
parent bba24b6535
commit 598e54640b
4 changed files with 57 additions and 15 deletions

View file

@ -1,6 +1,6 @@
#!/usr/bin/env bash
# This is a randomish md5 to identify this script
# 4d9958c90bc262f47553e2c073f14cfe
# 49fd668cb42069aa1b6048464be5d395
pushd `dirname $0` > /dev/null
HERE=`pwd`
@ -8,12 +8,21 @@ popd > /dev/null
retv=0
ENV_PYTHON='{sys_executable}'
which pre-commit >& /dev/null
WHICH_RETV=$?
"$ENV_PYTHON" -c 'import pre_commit.main' >& /dev/null
ENV_PYTHON_RETV=$?
python -c 'import pre_commit.main' >& /dev/null
PYTHON_RETV=$?
if [ $WHICH_RETV -ne 0 ] && [ $PYTHON_RETV -ne 0 ]; then
if ((
(WHICH_RETV != 0) &&
(ENV_PYTHON_RETV != 0) &&
(PYTHON_RETV != 0)
)); then
echo '`pre-commit` not found. Did you forget to activate your virtualenv?'
exit 1
fi
@ -29,15 +38,18 @@ fi
# Run pre-commit
if [ $WHICH_RETV -eq 0 ]; then
if ((WHICH_RETV == 0)); then
pre-commit
PRE_COMMIT_RETV=$?
elif ((ENV_PYTHON_RETV == 0)); then
"$ENV_PYTHON" -m pre_commit.main
PRE_COMMIT_RETV=$?
else
python -m pre_commit.main
PRE_COMMIT_RETV=$?
fi
if [ $PRE_COMMIT_RETV -ne 0 ]; then
if ((PRE_COMMIT_RETV != 0)); then
retv=1
fi