TortoiseSVN报告冲突,但没有发现冲突

时间:2012-05-02 13:31:08

标签: svn version-control tortoisesvn conflict working-directory

我的整个存储库都有一个工作副本,其中包含多个Python项目。当我选择右键单击 - > Windows文件资源管理器中的SVN更新我收到一条错误消息,列出了特定的项目文件夹:

Command: Update
Updating: path\to\working\copy
Skipped obstructing working copy: path\to\working\copy\project
Completed: At revision: 176
Warning!: One or more files are in a conflicted state.

当我进入该项目并右键单击 - > SVN更新,它成功更新。还没有可用的冲突编辑器,当我右键单击时 - > TortoiseSVN - >已解决,没有可用的文件。

可能导致冲突的原因是什么?只要这种情况不断发生,就不可能在我的工作副本中更新这个项目。

6 个答案:

答案 0 :(得分:96)

Skipped obstructing working copy

这意味着有一个工作副本文件夹:您的更新想要添加名为'project'的文件夹,但您的工作副本中已经有一个版本化文件夹'project'。 也许你从另一个工作副本中移动了该文件夹?或者该文件夹是它自己的工作副本(如果它有隐藏的.svn文件夹,那么它是一个独立的,单独的工作副本)。

要解决: 将文件夹移出工作副本(或只删除它)。然后再次运行更新。更新将再次获取具有相同名称的文件夹。但它可能与您没有相同 - 这就是为什么我建议您移动文件夹并在检查更新的文件夹与原始文件夹相同后删除它。

答案 1 :(得分:7)

如果您的svn版本支持此选项,您还可以在清理菜单中选中“删除未版本控制的文件和文件夹”选项。 这肯定会让事情变得更容易,而不是逐个搜索这些文件夹(我总是发现它们是非版本的副本)。

请注意,在进行此清洁之前,您不会在本地忘记提交任何有效的新文件添加内容..!

答案 2 :(得分:4)

尝试右击/ TortoiseSVN /清理。

这通常适合我。

答案 3 :(得分:1)

我遇到了同样的问题,但它发生在一个非常大的分支(c:\svn\root)的根部。我只在其中一个目录中深入(c:\svn\root\some\dir\deep\down\)工作,因此Stefan对问题和解决方案的解释没有意义。

我的解决方法是在c:\svn\root\中单独更新每个目录,然后返回并更新c:\svn\root\。这对我有用。不确定问题究竟是什么。

答案 4 :(得分:0)

我解决了这个问题而无需移动文件,因为我的obstructed子文件夹已正确链接到svn:

  1. 检查具有Skipped obstructing working copy
  2. 的文件夹的所有文件
  3. 现在您可以安全地删除受阻碍的文件夹(因为我们之前签入了所有内容)
  4. 对根文件夹执行更新
  5. 现在整个文件夹再次清理,根文件夹上的更新工作。

答案 5 :(得分:0)

在Windows 10系统上使用TortoiseSVN 1.9.5,当从分支(Project / branch / A)合并回主干(Project / trunk)时,出现了类似的错误消息。我的主干工作目录没有本地修改,但是合并后,我抱怨使用

的工作副本文件夹的根目录
  

“跳过了妨碍工作的副本”

。 问题是,我的工作副本位于另一个分区上,而“ Project / trunk”是指向另一个分区上文件实际位置的连接点。

解决方法是在联结指向的分区文件夹(即工作副本文件实际驻留的位置)上执行TortoiseSVN合并操作。