Skip to content

Instantly share code, notes, and snippets.

@andmetoo
Created September 12, 2018 10:24
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save andmetoo/fcaaefa1151b5cdea8a78a19c6201a62 to your computer and use it in GitHub Desktop.
Save andmetoo/fcaaefa1151b5cdea8a78a19c6201a62 to your computer and use it in GitHub Desktop.
Git pre commit php cs fixer from vendor
#!/usr/bin/env bash
echo "pre commit hook start"
CURRENT_DIRECTORY=`pwd`
GIT_HOOKS_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
PROJECT_DIRECTORY="$GIT_HOOKS_DIR/../.."
cd $PROJECT_DIRECTORY;
PHP_CS_FIXER="vendor/bin/php-cs-fixer"
HAS_PHP_CS_FIXER=false
if [ -x "$PHP_CS_FIXER" ]; then
HAS_PHP_CS_FIXER=true
fi
if $HAS_PHP_CS_FIXER; then
git status --porcelain | grep -e '^[AM]\(.*\).php$' | cut -c 3- | while read line; do
${PHP_CS_FIXER} fix --verbose --diff ${line};
git add "$line";
done
else
echo ""
echo "Please install php-cs-fixer, try run composer install or "
echo " composer require --dev friendsofphp/php-cs-fixer"
echo ""
exit 2
fi
cd $CURRENT_DIRECTORY;
echo "pre commit hook finish"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment