A pre-commit hook is a feature available in the Subversion version control system that allows code to be validated before it is committed to the repository. The PHP_CodeSniffer pre-commit hook allows you to check code for coding standard errors and stop the commit process if errors are found. This ensures developers are not able to commit code that violates your coding standard. Instead, they are presented with the list of errors they need to correct before committing.
Example 58-1. Sample pre-commit output
Edit /path/to/PHP_CodeSniffer/scripts/phpcs-svn-pre-commit and replace @php_bin@ in the first line with the path to the PHP CLI. For example, #!@php_bin@ becomes #!/usr/bin/php.
Now ensure the path to svnlook is correct by modifying the following line, if required:
Example 58-2. Changing the path to svnlook
Now add the following line to your pre-commit file in the Subversion hooks directory:
Example 58-3. Adding the pre-commit hook to the Subversion config file
You can also use all the standard phpcs command line options to do things like set the standard to use, the tab width and the error report format:
Example 58-4. Adding the pre-commit hook to the Subversion config file