53

我的整个存储库都有一个工作副本,其中包含多个 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 Update 时,它​​会成功更新。也没有可用的冲突编辑器,当我右键单击 --> TortoiseSVN --> 已解决时,没有可用的文件。

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

4

6 回答 6

109
Skipped obstructing working copy

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

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

于 2012-05-02T14:18:17.550 回答
8

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

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

于 2012-12-06T22:35:16.733 回答
5

尝试右键单击/TortoiseSVN/清理。

这通常对我有用。

于 2012-05-02T13:33:36.090 回答
2

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

“跳过阻碍工作副本”

. 问题是,我的工作副本位于不同的分区上,而“项目/主干”是一个连接点,指向另一个分区上文件的实际位置。

修复方法是对连接指向的分区文件夹执行 TortoiseSVN 合并操作,即工作副本文件实际所在的位置。

于 2018-09-28T16:09:57.080 回答
1

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

我的解决方法是单独更新每个目录,c:\svn\root\ 然后再出来更新c:\svn\root\. 这对我有用。不确定问题到底是什么。

于 2014-09-29T16:44:27.010 回答
0

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

  1. 检查具有Skipped obstructing working copy
  2. 现在您可以安全地删除受阻的文件夹(因为我们之前签入了所有内容)
  3. 对根文件夹执行更新

现在整个文件夹再次干净并且根文件夹的更新工作。

于 2014-10-30T14:12:37.967 回答