【问题标题】:SVN Pre-commit hook to be triggered for a particular folder为特定文件夹触发 SVN 预提交挂钩
【发布时间】:2011-10-27 19:36:40
【问题描述】:

我们客户的一个 SVN 存储库在单个存储库下有很多项目。现在我想通过预提交挂钩检查其中一个项目的编码标准。

如果我配置了预提交,它将影响存储库中的所有项目(文件夹),我如何告诉钩子脚本仅在来自特定文件夹的文件时触发(检查编码标准) (或项目)已提交。

更新

编码标准是为 Zend 设计的,我将使用 PHPCS (PHP Coding Standard) 来验证编码标准。

【问题讨论】:

    标签: php svn pre-commit-hook codesniffer


    【解决方案1】:

    在 pre-commit 中使用svnlook 查看更改的路径,如果路径包含您正在考虑的项目,请执行编码标准等。

    您可以使用dirs-changed 子命令(和--transaction 标志):

    http://svnbook.red-bean.com/en/1.5/svn.ref.svnlook.c.dirs-changed.html

    changed 子命令:

    http://svnbook.red-bean.com/en/1.5/svn.ref.svnlook.c.changed.html

    使用 svnlook 的预提交示例:http://wordaligned.org/articles/a-subversion-pre-commit-hook

    【讨论】:

    • 看起来应该可以。我将不得不使用grep 来查看列表。
    • 程序员..呃...找到方法
    【解决方案2】:

    你不能。脚本需要检查所有受影响的路径(它们可能不止一个)并采取相应措施。

    【讨论】:

    • @Alvaro-g-vicario 别这么说,应该有办法的。
    • @RakeshS - 当然有:让您的脚本检查所有受影响的路径并采取相应措施。有关详细信息,请参阅 manojlds 的答案。
    • @RudolfMayer 不知道为什么知道给定问题的两个答案是错误的人会在未接受的答案中留下投诉评论,而不是在正确答案中分享他的知识。同时,我重申我的声明(您不能将 Subversion 配置为基于路径触发挂钩,您必须编写一个 每次运行 并实现自己的路径过滤器逻辑的挂钩),我向 manojlds 的优秀回答一些关于如何做的好提示。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-12-03
    • 1970-01-01
    • 2021-10-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多