针对冲突文件的SVN预提交挂钩

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了针对冲突文件的SVN预提交挂钩相关的知识,希望对你有一定的参考价值。

我有一个名为test.txt的文件。 什么时候发生文件冲突。我们得到4个文件

test.txt
test.txt.min
test.txt.r1
test.txt.r2

test.txt,我们得到一些文字

<<<<<<< .mine
>>>>>>> .r2

所以我的问题是 有没有办法阻止用户提交冲突的文件? 我的意思是,

  • 用户无法提交包含文本<<<<<<< .mine >>>>>>> .r2的文件
  • 用户无法提交创建的一些额外文件 我在Windows中使用带有visualSVserver的tortoiseSVN
答案

简单的方法:

这个问题似乎很容易通过软件解决(例如钩子脚本),但真正的问题会更糟(相信我,我为客户实现了一次!)。您的人员将开始删除冲突标记,并将重命名这些文件以在您的钩子脚本中取消匹配您的正则表达式,从而导致您的存储库充满所有类型的冲突文件。更糟糕的是:当冲突标记消失时,没有人可以重建潜在的冲突!

正确的方法:

您应该向用户解释这种冲突是如何发生的。如果它们经常发生,通常会有另一个(外部)问题(软件设计不好,没有团队沟通等)。 SVN禁止提交冲突的文件。您应该展示如何解决此冲突。在标准SVN用例中,冲突不是一个大问题(合并除外)

以上是关于针对冲突文件的SVN预提交挂钩的主要内容,如果未能解决你的问题,请参考以下文章

SVN 的 CPP 检查预提交挂钩

如何创建 SVN 提交消息模板和挂钩以验证

SVN - 在开始提交挂钩中获取提交大小?

eclipse svn冲突怎么解决

svn 提交时总提示一下文件冲突

IntelliJ IDEA 中的预提交挂钩