代码之家  ›  专栏  ›  技术社区  ›  Joe Mastey

防止签入到SVN

  •  1
  • Joe Mastey  · 技术社区  · 14 年前

    我的团队将SVN用于我们的软件平台,我们定期创建标签以帮助保持模块版本的直线性。据我所知,最佳实践是在标签创建后不修改它。然而,有时似乎诱惑太大,对其中一个标签进行了修改。

    有没有一种方法可以阻止这些类型的签入,或者至少让它们完全痛苦,这样我们就可以自动阻止它们?

    谢谢, 乔

    2 回复  |  直到 12 年前
        1
  •  7
  •   Amber    14 年前

    创建一个 预提交钩子 如果标记已经存在,它将拒绝提交。有关实现挂钩的更多详细信息,请参阅以下部分(请参阅实现存储库挂钩部分):

    http://svnbook.red-bean.com/nightly/en/svn.reposadmin.create.html

        2
  •  2
  •   Franci Penov    14 年前

    我认为你正在为一个非技术性的问题寻找一个技术解决方案。在决定如何处理它们之前,您必须确定为什么要进行这些签入。如果他们是在团队领导的批准下做出的,那么任何过程都不会阻止他们在未来发生。另一方面,如果这些签入是由那些认为自己更了解的团队成员完成的,那么你就需要领导层来解决一个流氓开发者的问题。

    只有当整个团队都清楚标记创建后预期的内容之后,才可以使用技术解决方案(如果需要)强制实现这些预期。

    至于如何防止签入-在我看来,最简单的解决方案是,一旦您创建了标签,将其安全性设置为对所有人只读,通过 path-based authorization . 但是,请注意,SVN手册的作者还明确说明了以下关于基于路径的授权的内容:

    不过,请注意,通常 不可见(和可见!)成本 与此功能关联。在 可见类别,服务器需要 做更多的工作来确保 用户有权读写 每一条特定的道路;在一定程度上 情况很明显 性能损失。在无形中 类别,考虑你的文化 创建。大多数时候, 某些用户 不应该 作案 某些部分的更改 储存库,那个社会契约 不需要在技术上 强制执行的