我们最近安装了 Visual Studio 2012,我正在与我们团队的另一名成员一起开发一个全新的项目,使用 Team Foundation Server 2010 进行源代码控制。我最近注意到我的一些文件在签入时被随机损坏。然后在输出窗口中注意到有关冲突的通知,这些通知已自动解决!?
事实证明这是 Visual Studio 2012 中的默认设置!
我在 MSDN 上找到了一篇文章,详细介绍了如何关闭此设置(http://msdn.microsoft.com/en-gb/library/vstudio/ms181432.aspx#automatic_options http://msdn.microsoft.com/en-gb/library/vstudio/ms181432.aspx#automatic_options),但我很好奇是否有人知道为什么默认情况下会启用这种潜在的破坏性设置?
因为它是大多数其他工具中的默认设置,而使用 Team Foundation Server 的人们发现他们必须明确告诉该工具进行自动合并,这令人沮丧。更重要的是,人们甚至没有发现它obvious他们必须明确告诉工具进行自动合并,并抱怨合并分支产生的冲突数量之多,因为在许多工具中,用户甚至不会被告知“合并冲突”,直到它发生为止。can't被自动合并。因此,Team Foundation Server 似乎未能正确执行三向合并。
显然,这里正确的默认是判断调用。虽然我没有成功,但是我支持。
不过,我担心默认值的这种更改会暴露合并工作流程中的一些问题。自动合并可以绝对地产生人类不会产生的结果 https://www.edwardthomson.com/blog/conflict-resolution-in-teamprise.html,这是毫无疑问的。但它是一个完善的标准,通常被认为是安全、有用和一般来说正确的。
如果这在某种程度上是“危险的”,那么您的流程应该在您签入之前很久就捕获到这一点。希望您在签入之前就已经在本地构建并运行完整的测试通过,并且您的持续集成构建将also如果您未能这样做,请捕获这些错误。
如果自动合并产生不正确的输出,您始终可以手动合并文件。当然,您也可以将自动合并选项设置为“关闭”。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)