实际上我在使用SVN时已经多次遇到过这个问题。大部分时间我都在使用VSS进行源代码控制,但是在过去的几个月里我一直在使用SVN。
我们正在和VS 2010一起使用乌龟和AnkhSVN。
在我们的团队中有5-6人,其中一些人一次处理同一个文件。现在当有人提交时,我们已经看到其他一些开发人员的变化消失了,有时我们会得到一些版本号。这件事耗费了大量时间,我们必须解决所有冲突。
请提供信息,以便我们避免此类问题。
答案 0 :(得分:6)
如果两个开发人员正在处理同一个文件并对相同代码进行更改,那么您必须手动解决此冲突。无论您使用哪种版本控制,都无法避免它。
版本控制无法知道正确的代码是什么,因此需要人工干预。
除了阻止用户处理相同的代码之外,没有办法解决这个问题。这是通过锁定文件在svn中完成的。
答案 1 :(得分:2)
每位开发人员必须svn update
才能svn commit
。在更新和提交之间,开发人员必须执行完整,干净的构建并运行所有测试,以确保在将所有其他开发人员的更改合并到其副本之后,其代码仍然有效。
答案 2 :(得分:0)
您可以在进行更改之前对需要锁定的文件或文件夹设置svn:needs-lock,他们将被强制检查锁定。当您尝试编辑文件时,您将需要先锁定它。当它已经被其他人锁定时,他们会收到一条错误消息,阻止您进行任何更改。这可以在Tortoise SVN in Properties - >中完成。先进