This repository has been archived and is replaced by the iO Composer Git Hooks repository.
The Composer package has been replaced by iodigital-com/composer-git-hooks.
To upgrade to the new package, perform the following steps:
composer remove --dev isaac/composer-git-hooks
composer config --unset allow-plugins.isaac/composer-git-hooks
composer require --dev iodigital-com/composer-git-hooksIn the last step, confirm to automatically add iodigital-com/composer-git-hooks to the allow-plugins configuration.
Set up the .git/hooks folder to run scripts found in the bin/git-hooks/{hookName}.d folders of the project.
How it works:
- Include the package as a dev dependency
- On composer install/update, all git hooks (.git/hooks/{pre-commit,post-commit,...}) will be symlinked to this module's
scripts/chain-hook. - The
chain-hookscript will run the scripts found in the project'sbin/git-hooks/{hookName}.dfolder.
- A composer-managed project
Add the package as a dev dependency.
composer require --dev isaac/composer-git-hooksAdd the package to the allow-plugins section of your composer.json file:
{
"config": {
"allow-plugins": {
...
"isaac/composer-git-hooks": true
...
}
}
}This package is a composer plugin and will install the githooks automatically on composer install and composer update. Should you need it however, you can run the installer manually by adding it as a composer script and executing it.
Add the following to composer.json:
"scripts": {
...
"install-git-hooks": "ISAAC\\ComposerGitHooks\\ComposerPlugin::process"
...
},Run it:
composer run-script install-git-hooksAdd project specific git-hooks to bin/git-hooks/{hookName}.d. For example:
bin/git-hooks/pre-commit.d/phpstanbin/git-hooks/pre-commit.d/phpcs
All scripts (for in this case pre-commit) should give a 0 exit code for the whole hook to succeed.
Create a merge request.
This package makes use of the composer plugin interface. See the composer documentation.