该包已被废弃且不再维护。作者建议使用diff-sniffer/diff-sniffer包。

Diff Sniffer,一款仅在变更行中验证编码标准的工具

0.5.1 2020-10-02 00:18 UTC

README

PHP Version Latest Stable Version Build Status AppVeyor Build Status Code Coverage

此工具允许您将PHP_CodeSniffer用作预提交钩子。与现有解决方案相比,其主要区别在于它仅验证代码的变更行,而不是整个源代码树。

安装

下载最新版本的PHAR包并将其放置在您的$PATH

$ wget https://github.com/diff-sniffer/diff-sniffer/releases/latest/download/diff-sniffer.phar
$ chmod +x diff-sniffer.phar
$ sudo cp diff-sniffer.phar /usr/local/bin/diff-sniffer

在特定的Git仓库中创建一个预提交钩子。

$ cd /path/to/repo
$ cat > .git/hooks/pre-commit << 'EOF'
#!/usr/bin/env bash

diff-sniffer --staged "$@"
EOF

或者,您可以为您创建一个全局预提交钩子(请参阅man githooks

$ cat > ~/.config/git/hooks/pre-commit << 'EOF'
#!/usr/bin/env bash

diff-sniffer --staged "$@"
EOF

您还可以手动安装Diff Sniffer

$ git clone git@github.com:diff-sniffer/diff-sniffer.git
$ cd diff-sniffer
$ composer install
$ bin/diff-sniffer --version

持续集成模式

Diff Sniffer也可以在CI服务器上运行并验证拉取请求。例如,在Travis CI上

$ wget https://github.com/diff-sniffer/diff-sniffer/releases/latest/download/diff-sniffer.phar
$ php diff-sniffer.phar origin/$TRAVIS_BRANCH...$TRAVIS_PULL_REQUEST_SHA