【问题标题】:Versioned items causing obstructions in SVN在 SVN 中导致阻塞的版本化项目
【发布时间】:2010-03-09 10:40:22
【问题描述】:

我正在使用 VisualSVN 服务器,在 Visual Studio 中使用 TortoiseSVN 和 AnkhSVN。

我有一个主干,其他团队的一些开发人员定期对其进行各种小改动。

我有一个正在构建一个相当重要的新开发的分支。作为每周例行的例行程序,我一直将主干合并到这个分支中。一切似乎都很好。

我来做另一个这样的从主干合并到这个分支的合并,我得到了卡车负载:-

最后一次合并操作尝试添加目录'nameoffolder',但是本地已经添加了。

但是,这些文件夹是版本化的,并且已经在 Trunk 和 Branch 中存在了很长一段时间。

我对文件也有类似的看法:-

最后一次合并操作尝试添加文件“QueueCleanUp.ashx”,但在工作副本中被阻止。

这似乎在整个分支中普遍存在,绝大多数与分支团队正在处理的任何事情无关。

有人见过这个吗?没有大量的工作如何解决这个问题?

【问题讨论】:

  • 直接从 TortoiseSVN 进行操作时的行为是否相同?我在从 Ankh 提交时看到了奇怪的错误消息,这些错误消息大多是通过直接从 TortoiseSVN 执行相同的操作来解决的。
  • 我列出 Ankh 仅供参考,我只使用 Ankh 来了解 VS 中的文件状态和奇怪的单个文件提交。对于像 Merge 或重要的 Commit 这样的大型项目,我总是使用 TortoiseSVN。
  • 我想知道你为什么这样做。 AnkhSvn 对哪些文件应该提交或不应该提交有更好的理解,因为 Visual Studio 中的各种项目系统指示应该对哪些文件进行版本控制。 TortoiseSvn 可以做的最好的事情是根据文件名/扩展名进行过滤。

标签: svn tortoisesvn visualsvn ankhsvn svn-merge


【解决方案1】:

在 AnkhSVN 中,有一种方法可以通过 allow unversioned obstructions 检查进行更新。为此打开View -> Pending Changes,从这里选择Update 下拉菜单,然后选择Update to specific revision...。在出现的对话框中,确保选中 Latest Revision 并选中 Allow Unversioned Obstructions。

我确定 TortoiseSvn 中有类似的选项,但我自己没有安装,所以无法检查。

命令行等效项是--force 切换到更新命令:

svn update --force c:\myproject

【讨论】:

  • 感谢您的回答,我可能会去看看结果如何,但我对此有些紧张,因为“受阻”的项目已经版本化,至少可以说很奇怪。跨度>
  • 解释当你强制它更新障碍时会发生什么是你的新文件(没有基本修订,即没有你当前更改的版本)获得基本修订(更改别人做的)。您的工作副本中的文件不会更改。更新后这些文件将被修改,您可以使用差异工具查看您的更改在其他人的更改之上意味着什么。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-03
  • 1970-01-01
  • 1970-01-01
  • 2016-01-31
相关资源
最近更新 更多