为什么自动解决在Visual Studio 2012在默认情况下的冲突?(Why is Auto R

2019-08-17 15:40发布

我们最近安装了Visual Studio 2012,和我工作的一个全新的项目,在那里与我们的团队的另一名成员,使用的Team Foundation Server 2010的源代码控制。 我最近发现我的一些文件让我签在随机错位,然后在有关冲突的输出窗口的通知,这是自动解决发现!?

原来,这是在Visual Studio 2012的默认设置!

我发现在MSDN上的一篇文章详细介绍了如何关闭此设置( http://msdn.microsoft.com/en-gb/library/vstudio/ms181432.aspx#automatic_options ),但我很好奇,如果有人知道为什么这可能毁灭性的设置将在默认情况下?

Answer 1:

因为它在大多数其他工具的默认,以及人来Team Foundation Server的发现令人沮丧,他们将不得不明确地告诉automerge工具。 更重要的是,人们甚至没有发现很明显 ,他们将不得不明确地告诉automerge工具和抱怨的通过合并分支产生冲突的数量之多,因为在很多工具,用户甚至都讲述了“合并冲突”,直到它不能 automerged。 如此看来,Team Foundation Server中未能正确地做一个三方合并。

显然,这里的正确默认值是一个主观判断。 我没能成功,但我支持它。

我担心,虽然,这种变化在默认在您的合并工作流程暴露出一些问题。 Automerge可以绝对产生人体不会产生效果 ,这是毫无疑问的。 但是,这是一个公认的标准,一般认为是安全,有效和普遍正确的。

如果这是某种“危险”,那么你的程序应该抓住这么久你检查之前,希望你会在本地构建和运行完整测试过不久你检查之前,如果你没有你的持续集成构建将赶上这些错误这样做。

如果automerge产生不正确的输出,你可以随时通过合并用手文件。 而且,当然,你也可以只是把automerge选项设置为“关闭”。



文章来源: Why is Auto Resolve conflicts on by default in Visual Studio 2012?