Permitir que SVN se comprometa con las advertencias de enlace PreCommit existentes

Estoy utilizando los enlaces de precomisión de SVN para validar mi estándar de código (PSR2) antes de poder comprometerme. Esto funciona perfectamente con solo una exception. Existen mis files de testing de unidad (PHPUnit) de mi class de rutina de arranque de todas las funciones de testing de unidades estáticas, pero también habilita los posts de error por encima de la definición de class de arranque.

El estándar PSR2 dará una advertencia cuando intente cometer esto, porque no puede tener un código que no esté en una class o function en un file que contenga una definición de class.

¿Alguien tiene alguna forma de excluir este error en mi codesniffer o una forma de hacer que mi código sea válido (sin poner el código para habilitar mis posts de error en cada function estática de la class de arranque)?

Aquí está el file:

<?php namespace AlbumTest; use Zend\Loader\AutoloaderFactory; use Zend\Mvc\Service\ServiceManagerConfig; use Zend\ServiceManager\ServiceManager; use Zend\Stdlib\ArrayUtils; use RuntimeException; error_reporting(E_ALL | E_STRICT); chdir(__DIR__); class Bootstrap { protected static $serviceManager; protected static $config; protected static $bootstrap; public static function init() { // Load the user-defined test configuration file, if it exists; otherwise, load if (is_readable(__DIR__ . '/TestConfig.php')) { $testConfig = include __DIR__ . '/TestConfig.php'; } else { $testConfig = include __DIR__ . '/TestConfig.php.dist'; } $zf2ModulePaths = array(); if (isset($testConfig['module_listener_options']['module_paths'])) { $modulePaths = $testConfig['module_listener_options']['module_paths']; foreach ($modulePaths as $modulePath) { if (($path = static::findParentPath($modulePath)) ) { $zf2ModulePaths[] = $path; } } } $zf2ModulePaths = implode(PATH_SEPARATOR, $zf2ModulePaths) . PATH_SEPARATOR; $zf2ModulePaths .= getenv('ZF2_MODULES_TEST_PATHS') ?: (defined('ZF2_MODULES_TEST_PATHS') ? ZF2_MODULES_TEST_PATHS : ''); static::initAutoloader(); // use ModuleManager to load this module and it's dependencies $baseConfig = array( 'module_listener_options' => array( 'module_paths' => explode(PATH_SEPARATOR, $zf2ModulePaths), ), ); $config = ArrayUtils::merge($baseConfig, $testConfig); $serviceManager = new ServiceManager(new ServiceManagerConfig()); $serviceManager->setService('ApplicationConfig', $config); $serviceManager->get('ModuleManager')->loadModules(); static::$serviceManager = $serviceManager; static::$config = $config; } public static function getServiceManager() { return static::$serviceManager; } public static function getConfig() { return static::$config; } protected static function initAutoloader() { $vendorPath = static::findParentPath('vendor'); if (is_readable($vendorPath . '/autoload.php')) { $loader = include $vendorPath . '/autoload.php'; } else { $zf2Path = getenv('ZF2_PATH') ?: (defined('ZF2_PATH') ? ZF2_PATH : (is_dir($vendorPath . '/ZF2/library') ? $vendorPath . '/ZF2/library' : false)); if (!$zf2Path) { throw new RuntimeException( 'Unable to load ZF2. Run `php composer.phar install` or define a ZF2_PATH environment variable.' ); } include $zf2Path . '/Zend/Loader/AutoloaderFactory.php'; } AutoloaderFactory::factory( array( 'Zend\Loader\StandardAutoloader' => array( 'autoregister_zf' => true, 'namespaces' => array( __NAMESPACE__ => __DIR__ . '/' . __NAMESPACE__, ), ), ) ); } protected static function findParentPath($path) { $dir = __DIR__; $previousDir = '.'; while (!is_dir($dir . '/' . $path)) { $dir = dirname($dir); if ($previousDir === $dir) { return false; } $previousDir = $dir; } return $dir . '/' . $path; } } Bootstrap::init(); 

¿Cómo se ve tu gancho precommitido? ¿Podrías quitar las primeras líneas dinámicamente antes de enviarlas al Codesniffer? Otra solución sería establecer el error_reporting en el init de tu bootstrap