如何区分更改的表单文件 - (.Designer InitializeComponent)

时间:2009-02-09 14:55:58

标签: c# winforms svn merge branch

使用Suversion和WinDiff分支/合并类项目和Web项目没有问题。

我永远无法合并的唯一项目是winform项目。只需很少的更改,InitializeComponent方法总是被加扰。

有没有什么好方法可以为.Designer - 文件启用差异/合并?

修改

我使用了Bert建议的3路差异。它使思考变得更加容易。但仍然是Winform - 文件(.designer和.resx)无法合并。

3 个答案:

答案 0 :(得分:2)

我们有一种不同的方法可以确保差异更易于管理。我们在checkin上有一个触发器,它将设计器文件InitializeComponent部分修改为一致且有序的方式,以便差异显示真正的变化。

我们希望将InitializeComponent拆分为4个部分 - 创建,布局暂停,设置和布局恢复。然后根据控件的名称单独对这些部分中的每一部分进行排序。

答案 1 :(得分:0)

Windiff专为比较文件而设计。它使用双向差异合并算法,只允许您查看文件的两个版本之间的更改,因此您只需要猜测哪些更改应该应用于结果文件。

对于合并,你应该考虑使用3路差异算法/工具。

在3方式差异中,diff工具使用文件的原始版本来提取文件(%mine)对源(%base)及其文件(%theirs)对原点的更改,然后应用所有更改原始版本以创建单个结果。 (如果有任何冲突我

一个非常用户友好的3种GUI diff工具,你可以免费使用SourceGear DiffMerge(推荐),但TortoiseMerge也实现了3路合并。

您可以在Wikipedia上找到其他常见合并工具的列表。

答案 2 :(得分:0)

如果您正在使用Resharper,请在登记前重新格式化(包括排序成员等)这些文件。

相关问题