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

时间:2015-09-07 18:19:47

标签: svn tortoisesvn hook visualsvn-server pre-commit-hook

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

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

test.txt中,我们会收到一些文字,例如

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

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

  • 用户无法提交包含文本<<<<<<< .mine >>>>>>> .r2

  • 的文件
  • 用户无法提交一些额外的文件

      

    我在Windows中使用带有visualSVserver的tortoiseSVN

1 个答案:

答案 0 :(得分:1)

简单方法

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

正确方法

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