【问题标题】:How do I manually resolve conflicts and mark them as resolve when using TFS?使用 TFS 时如何手动解决冲突并将其标记为已解决?
【发布时间】:2012-05-05 20:44:51
【问题描述】:

来自 SVN 世界,这非常容易: 1)进行合并并产生冲突。 SVN 为您提供工作副本中的冲突文件。 2)以您需要的任何方式解决它们(如果需要,使用任何外部工具)。 3) "svn resolved" 将冲突标记为已解决。 4) 签到(或继续工作等)。

现在有了 TFS 和 Visual Studio (2010),我们似乎唯一的选择是:- -> 在 TFS 合并工具中合并(仅限文本文件)。 -> 对于非文本文件,取源分支文件(覆盖目标分支文件)或保留目标分支文件(忽略源分支文件)。

我需要能够使用外部工具(例如 Erwin)解决我的某些文件类型的冲突,然后将冲突标记为已解决。

我已经尝试解决冲突,将新文件放入目标分支文件系统工作区(即工作副本)并使用“tf resolve /auto:DeleteConflict”。那没有帮助。当我最终签入合并时,本地已解析/合并的文件被完全忽略。

TFS/VS 肯定可以做到这一点!

任何帮助将不胜感激!

谢谢。

【问题讨论】:

  • 作为 tbergstedt 回答 this blog 的补充,对如何从 TFS 调出到 3rd 方合并工具进行了全面细分。如果您可以从命令行调用 ERwin,您将能够从 TFS 调用它
  • 感谢您的领导,但唉,ERwin 似乎不支持任何命令行参数。我需要使用的另一个工具当然不需要。请问还有什么好办法!?

标签: visual-studio tfs merge


【解决方案1】:

您可以在 Visual Studio 中为比较和合并设置特定规则。它位于 Tools->Options->Source Control->Visual Studio Team Foundation Server 下。选择配置用户工具...,然后您可以从那里选择任何外部工具用于您的操作。

您可以使用文件过滤器定义任意数量的规则,并在此处为“合并”操作添加任何自定义工具:

【讨论】:

  • 我尝试设置的第一个工具 (ERwin) 不适用于此。我确定我还需要使用的其他工具也不适用于这种机制。
  • 有没有像 SVN 那样手动解决冲突的方法,或者是通过合并冲突解决对话(或稍后的“恢复冲突解决”)解决冲突的唯一方法?!
  • ERwin 不接受命令行参数!还有其他方法可以让它工作吗?
  • 在这种情况下,我可以看到两种选择: 1) 如果 ERwin 有某种 API,您可以构建自己的接口用于合并。 2)更手动的方法是执行合并,在解决冲突阶段暂停,在 ERwin 中解决必要的冲突并覆盖目标,回到 VS 中解决与take target version 的每个(ERwin)冲突。你可以在签入任何东西之前检查结果。有点麻烦,但你不能责怪TFS无法处理只接受GUI界面的程序......
  • 我肯定已经尝试过“获取目标版本”,但它忽略了我放在目标分支本地工作区中的文件,只是接受了服务器版本!这只会从下面的答案中真正留下“/auto:AcceptMerge”选项(我仍在尝试)。如果这在 TFS/VS2010 中不再有效,那么我已经拥有了。其实我完全可以怪TFS!文字,文字,文字。没有文字怎么办?他们准备好SVN手册了吗!? ;p
【解决方案2】:

在磁盘上获得所需内容后(手动使用合并工具后)而不是运行“tf resolve /auto:DeleteConflict”,运行“tf resolve /auto:AcceptMerge”。这告诉 TFS 接受磁盘上的内容作为合并的分辨率。

【讨论】:

  • 真的!?我看过的文档中没有记录。你在哪里找到那个的?我试试看。
  • 实际上,它在 MSDN 上的 Visual Studio 2005 页面上列出,而不是 2010 页面。我正在使用 2010。会告诉你这是否有效。
  • 对,这个(“/auto:AcceptMerge”)已经试过了。它没有用!这是错误消息:除非指定了编码覆盖,否则无法合并二进制文件。然后是关于源和目标都发生变化的消息。 IE。冲突(!!)。有什么想法吗?!
  • 还尝试将“.erwin”添加到项目集合级别可合并的文件类型列表中。这也无济于事。
猜你喜欢
  • 2021-05-16
  • 1970-01-01
  • 2011-05-12
  • 1970-01-01
  • 1970-01-01
  • 2018-08-21
  • 2015-02-06
  • 2014-07-29
  • 1970-01-01
相关资源
最近更新 更多