文件类型检查SVN挂钩

时间:2013-03-18 12:45:48

标签: svn build-process build-automation

我正在搜索两个小时的SVN钩子shell脚本,它可以做两件事以下我无法找到。如果您有任何相关模板或材料,请帮助我。

  1. 需要检查文件类型(* .java,* .css,* .js ...)
  2. 在提交文件时需要在文件顶部添加

    / *      *版权所有(c)1994,2010,Oracle和/或其附属公司。版权所有。      * ORACLE所有权/机密。使用受许可条款的约束。      *作者:      *文件版本:      *文件路径名:      *和任何其他可能有用的标签。      * /

2 个答案:

答案 0 :(得分:3)

  1. 在脚本中使用svnlook来分析传入的事务并实现是否拒绝或允许提交的逻辑。

  2. 你不能这样做。见SVNBook

      

    虽然钩子脚本几乎可以做任何事情,但是有一个维度   哪个钩子脚本作者应该表现出克制:不要修改   使用钩子脚本提交事务。虽然它可能很诱人   使用钩子脚本来自动纠正错误,缺点或   在提交的文件中存在策略违规,这样做可以   引起问题。 Subversion保留了某些位的客户端缓存   存储库数据,如果以这种方式更改提交事务,   那些缓存变得难以辨认。这种不一致可能导致   令人惊讶和意外的行为。 而不是修改   事务,你应该简单地验证交易   预提交挂钩并拒绝提交,如果它不符合所需   要求即可。作为奖励,您的用户将了解其价值   细心,遵守法规的工作习惯。

答案 1 :(得分:1)

我找到了解决方案但没有使用钩子脚本。我用svn令牌做了。

  1. 需要使用某些SVN客户端将所需的令牌附加(激活)到svn中的特定项目或文件夹。

  2. 需要编写这样的模板。

    / * *

    • 版权所有(c)1992-2013 XXXX,Inc和/或其附属公司。保留所有权利。
    • XXXX所有权/机密。使用受许可条款约束
    • 上次修改者:$ Author $
    • 修改时间:$ Date $
    • 文件版本:$ Revision $
    • 文件路径:$ URL $ * /
  3. 首次必须将此模板添加到源代码中。并提交,下次你不需要做。

  4. 注意:模板需要在一个文件时间内更改。对于.java文件的上述模板,如果要根据特定技术的注释语法申请.xml或其他模板,则必须更改。

  5. 只需提交....完成..