SVN中的并行路径会覆盖彼此的文件

时间:2010-12-20 19:01:42

标签: svn tortoisesvn

我有两条路,让我们说:

根\ folder1中 根\文件夹2

虽然文件夹名称不同,但两者都包含具有相同名称的文件,只是它们的一些内容不同。我将所有路径及其所有文件添加到SVN。现在,我对root \ folder1 \ fileA进行了更改并提交了它。如果我尝试对root \ folder2 \ fileA进行更改,则会收到错误,因为我需要先更新。当我更新时,我的本地副本会被我刚刚对root \ folder1下的fileA所做的更改所覆盖。而这反过来也是如此。

我不知道为什么会这样。我甚至删除了root \ folder2并重新创建它并重新添加到SVN。但同样的事情仍在发生......

2 个答案:

答案 0 :(得分:3)

听起来像folder1和folder2是同一个存储库目录的两个工作副本。如果你检查文件夹1和文件夹2的svn info(或等效的tortoisesvn),那应该是 给出一个关于发生了什么的线索。

答案 1 :(得分:2)

使用Windows资源管理器复制其中包含.svn文件夹的文件夹时会发生这种情况。由于它们在.svn中具有相同的信息,因此即使本地文件夹具有不同的名称,它们也指向服务器上的相同位置。

为了让TortoiseSVN知道这些副本以便它可以做正确的事情,你应该总是使用TortoiseSVN上下文菜单或right-click dragging移动/复制/重命名操作并选择TortoiseSVN动作。

在SVN(1.7)的下一个主要版本中,元数据将集中在工作副本根目录下的一个大.svn文件夹中。希望这将减少在Windows资源管理器中使用复制/移动/重命名操作搞乱工作副本的机会。