【问题标题】:TFS merge creates duplicate entries in Solution (project files)TFS 合并在解决方案(项目文件)中创建重复条目
【发布时间】:2012-12-21 10:47:56
【问题描述】:

我们正在使用 TF 服务。根据最佳实践,我们执行频繁的合并。

合并工具在处理我们的项目文件的合并方面做得不好。我们得到了视图、控制器甚至我们的 PublishProfiles 文件夹的副本。

我很难相信 TFS 还没有经过优化来处理像骗子这样微不足道的事情。我们的控制器、EDMX 文件和视图中的逻辑应该更复杂地合并,但处理得更好。

我们做错了吗?更具体地说,是否有 TFS 的选项或设置可以更好地处理此类问题。

【问题讨论】:

  • 您的.xxproj 文件是什么样的?如果人们从共同祖先重新排列文件的内容,那么您最终会得到相同的行或部分两次。
  • 爱德华,起初我误解了你的评论。是的,在合并时,我们注意到 .csproj 文件确实被重新排序。我不确定为什么会这样。我们通常只添加几个文件。无重大重组。是否有避免这种情况发生的最佳做法?
  • 您使用的是哪个版本的 Visual Studio? Visual Studio 2012(及其新的 Merge 工具)现在支持 XML 上下文合并,这应该会使这变得更简单...
  • 使用 2012 年。在这种情况下,xml 上下文合并创造了我们的噩梦。这个问题肯定源于诉诸。但我不确定为什么或如何避免。
  • 有一个用户语音请求以改进 TFS 中的 xml/sln 文件合并here

标签: tfs


【解决方案1】:

这是 Visual Studio 2010 附带的不太好的合并工具的一个已知问题,此 Visual Studio 2012 有一个完全更新的合并工具,可以在 XML 文件之间进行上下文合并,这大大降低了这些类型问题的机会突然出现。由于您在 Visual Studio 2012 中看到了这一点,因此我很乐意看到几个出错的示例。自从升级到 Visual Studio 2012 后,我没有遇到过重大问题。

作为最佳实践,我倾向于在添加新文件之前始终执行 Get-Latest。而且我总是在得到重新编译的解决方案后尽快签入。当您在同一个分支上工作时,这会减少出现这些问题的机会。但是,在两个分支之间进行合并时,您可能仍然会遇到这些类型的问题。

此外,您无需为所有文件类型使用 Visual Studio 2012 合并工具you can set a custom merge tool for specific file extensions,这样您就可以使用任何商业或开源合并工具来代替默认工具。那里有很多很好的例子:

您的里程可能会因不同的工具而异。

【讨论】:

  • 杰西这是很好的信息。你会推荐哪个工具?我有过使用 Tortoise (git) 的经验,但并没有留下深刻的印象。尽管它可能随着时间的推移而有所改善。再次感谢!
  • 我个人在 VS2010 中经常使用 KDiff。 Altova DiffDog 也很棒,但价格昂贵......
【解决方案2】:

在一个只有 3 名开发人员的团队中,这个问题对 VS2013 和 TFS2013 影响很大。我能找到的最好办法是在设置菜单中禁用自动冲突解决。 http://donovanbrown.com/post/I-dont-trust-2012-Auto-merge-but-it-does-it-automatically-.aspx

【讨论】:

    猜你喜欢
    • 2017-10-16
    • 1970-01-01
    • 2018-05-07
    • 1970-01-01
    • 2016-04-21
    • 2014-06-15
    • 2021-01-31
    • 1970-01-01
    • 2011-01-07
    相关资源
    最近更新 更多