如何将VisualSVN服务器从Copy-Modify-Merge重新配置为Lock-Modify-Unlock?

时间:2009-12-09 22:51:03

标签: svn tortoisesvn ankhsvn visualsvn-server

我们刚刚开始使用VisualSVN,TortoiseSVN和ankhSVN插件来处理我们的源代码控制。最初我们使用了Copy-Modify-Merge样式,但我们现在已经发现需要转向Lock-Modify-Unlock方法。但是我们已经在我们的存储库中有15个项目,它们遵循Copy-Modify-Merge。

我需要做什么来配置我们的存储库以要求锁定现有项目以及将来添加的任何项目。我已经看过关于svn:needs-lock的文档,但我不明白如何使用它将我们的商店转移到Lock-Modify-Unlock。

任何人都可以请给我“for dummies”解释如何设置VisualSVN服务器以及我们的客户端机器以要求锁定现有项目和新添加的项目吗?

2 个答案:

答案 0 :(得分:4)

Subversion不提供强大的锁定 - 修改 - 解锁机制。但是,如果您右键单击subversion中的任何文件,您将获得锁定它的选项。这可以防止其他人在他们锁定或锁定已被释放之前办理登机手续。

您可以通过设置svn:needs-lock属性将文件标记为需要锁定,请参阅此处:

http://svnbook.red-bean.com/en/1.8/svn.advanced.locking.html#svn.advanced.locking.lock-communication

http://svnbook.red-bean.com/en/1.8/svn.ref.properties.html

您不必为项目中的每个文件设置它,您可以非常愉快地为单个文件设置它。

但是,出于某种原因,edit-merge-commit操作是每个现代源代码管理系统中的默认操作。甚至是TFS。我再推荐Eric Sink

答案 1 :(得分:0)

嗯,我想我必须在这里指出一点,以支持这个请求。
大多数时候,你并没有像我们期望的那样工作得很好,代码通常需要大量重构的地方,而且通常是我们,那些学习,思考建筑并且追求大胆和新的,结束这种永无止境的重构循环 通常情况下,当我们重新审视一些穷人的数据层或类似的实现时,这个混蛋会以一种可怕的方式改变血腥文件(因为基本上它不能正常工作,原因很明显)< / em>,那么,你最终会做一次返工 你必须自己做,反对潮流,克服一切困难,因为,那个人永远不会像你期望的那样做得好。
我发现自己身处一家面对这样的开发者的公司。他们有自我,他们有他们的理由(他们的理由通常是时间,这是谎言,因为我们都有相同的时间,只是他们没有奉献自己,只是去和完成它,没有想法,没有想法,只是猴子打字)。还有一点支持老板 通常在我的公司里,由我“做事”是我的,我希望能够在每次需要重新做某事时锁定文件,所以我不需要重新阅读或合并那个混蛋的“新”实施。

请注意,这只是一个案例,我的情况如下,以支持swolff1978的请求。