centos下安装PHP_CodeSniffer并配置svn钩子实现svn代码提交时进行代码规范检查

by pxz


发布于: 2016-02-25 所属分类: 工具 linux 服务器 标签: svn CodeSniffer 代码检查  373


<p>PHP_CodeSniffer:这是php的一个代码规范检查的工具, 这里是用它来实现, 在svn提交代码前, 自动进行代码规范检查, 只有检查通过, 才能正式提交</p> <p><strong>1. 安装 pear</strong></p> <p>因为 PHP_CodeSniffer 是 pear中的一个包, 需要先安装 pear<br><code>yum install php56w-pear</code></p> <p><strong>2. 安装 PHP_CodeSniffer, 直接使用pear命令安装</strong></p> <p><code>pear install PHP_CodeSniffer</code></p> <p><strong>3. 配置svn 钩子 pre-commit</strong></p> <p>在svn服务端的仓库目录下有个hooks目录,关于hook目录下的文件说明, 可参考: <a href="http://www.sgzhang.com/article/37.html">http://www.sgzhang.com/article/37.html</a><br>这里, 我们的需求是svn提交之前,使用PHP_CodeSniffer进行代码规范检查,<br>所以只需要修改 post-commit , 该文件是svn提交代码前会调用的脚本, 如果该脚本 exit code 大于0, svn服务器会停止提交代码, 并返回错误信息至svn客户端</p> <p>这里有两种情况,</p> <p>1) 如果 hooks 目录下已经有 pre-commit 文件, 只需要在 pre-commit 文件的 exit 0 之前 添加一行代码即可:</p> <pre><code>/usr/bin/scripts/phpcs-svn-pre-commit --standard=PEAR --tab-width=4 "$REPOS" -t "$TXN" 1>&2 || exit 1 </code></pre><p>2) 如果hooks目录下还没有 pre-commit 文件, 需要先新建一个, 并且要把权限修改为可执行, 命令如下:</p> <pre><code>touch pre-commit; chmod +x pre-commit; </code></pre><p>然后把下面代码完整地复制到 pre-commit 文件:</p> <pre><code>#!/bin/sh REPOS="$1" TXN="$2" /usr/bin/scripts/phpcs-svn-pre-commit --standard=PEAR --tab-width=4 "$REPOS" -t "$TXN" 1>&2 || exit 1 exit 0 </code></pre>

发表评论

暂无评论

搜索
用户登陆