1

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

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

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

4

2 回答 2

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

  2. 你不能这样做。见SVNBook

    虽然钩子脚本几乎可以做任何事情,但钩子脚本作者应该在一个方面表现出克制:不要使用钩子脚本修改提交事务。虽然使用钩子脚本自动更正提交的文件中存在的错误、缺点或违反策略可能很诱人,但这样做可能会导致问题。Subversion 保留存储库数据的某些位的客户端缓存,如果您以这种方式更改提交事务,这些缓存将变得难以察觉的陈旧。这种不一致会导致令人惊讶和意外的行为。而不是修改事务,您应该简单地在 pre-commit 钩子中验证事务,如果它不满足所需的要求,则拒绝提交. 作为奖励,您的用户将了解谨慎、合规的工作习惯的价值。

于 2013-03-18T12:53:05.027 回答
1

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

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

  2. 需要写一个这样的模板。

    /* *

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

  4. 注意:模板需要更改基准一个文件时间。上面的.java文件模板,如果你想申请.xml或者其他根据特定技术的注释语法,你必须改变。

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

于 2013-03-21T07:51:41.287 回答