Using Suversion and WinDiff its no problem to branch / merge class-projects and web-projects.
使用Suversion和WinDiff分支/合并类项目和Web项目没有问题。
The only kind of project I can never merge are winform projects. The InitializeComponent method is always scrambled after only little changes.
我永远无法合并的唯一项目是winform项目。只需很少的更改,InitializeComponent方法总是被加扰。
Is there any good way to enable diff / merge for .Designer - files?
有没有什么好方法可以为.Designer - 文件启用diff / merge?
EDIT:
I used a 3 way diff like Bert suggested. It made thinks a lot more easy. But still Winform - files (.designer and .resx ) were not mergeable.
我使用像Bert建议的3路差异。它使思考变得更加容易。但仍然Winform - 文件(.designer和.resx)不可合并。
3 个解决方案
#1
We have a different method of ensuring that diffs are a bit more managable. We have a trigger on checkin that will modify the designer files InitializeComponent section into a consistent and ordered manner, so that diffs show the real changes.
我们有一种不同的方法来确保差异更容易管理。我们在checkin上有一个触发器,它将设计器文件InitializeComponent部分修改为一致且有序的方式,以便diffs显示真正的变化。
we want to split InitializeComponent into 4 sections - creation, layout suspension, setup and layout resuming. Each of these sections are then separately ordered according to the names of the controls.
我们想将InitializeComponent分成4个部分 - 创建,布局暂停,设置和布局恢复。然后根据控件的名称单独对这些部分中的每一部分进行排序。
#2
Windiff was designed for comparing files. It uses a 2 way diff merge algorithm, that only allows you to see changes between two versions of a file, so you just have to guess which changes should be applied to a result file.
Windiff专为比较文件而设计。它使用双向差异合并算法,只允许您查看文件的两个版本之间的更改,因此您只需要猜测哪些更改应该应用于结果文件。
For merging you should really look into using a 3 way diff algorithm/tool.
对于合并,你应该考虑使用3路diff算法/工具。
In a 3 way diff the diff tool uses the original version of a file to extract the changes of your file (%mine) against the origin (%base) and their file (%theirs) against the origin and then applies all changes to the original version to create a single result. (And if there are any conflicts i
在3方式差异中,diff工具使用文件的原始版本来提取文件(%mine)对源(%base)及其文件(%theirs)对原点的更改,然后将所有更改应用于原始版本创建单个结果。 (如果有任何冲突我
A very user friendly 3 way GUI diff tool that you can use for free is SourceGear DiffMerge (Recommended), but TortoiseMerge also implements a 3 way merge.
一个非常用户友好的3种GUI diff工具,你可以免费使用SourceGear DiffMerge(推荐),但TortoiseMerge也实现了3路合并。
You can find a list of other common merge tools on Wikipedia.
您可以在Wikipedia上找到其他常见合并工具的列表。
#3
If you are using Resharper, reformat (including sorting members and whatever) those files before checking in.
如果您正在使用Resharper,请在签入之前重新格式化(包括排序成员等)这些文件。
#1
We have a different method of ensuring that diffs are a bit more managable. We have a trigger on checkin that will modify the designer files InitializeComponent section into a consistent and ordered manner, so that diffs show the real changes.
我们有一种不同的方法来确保差异更容易管理。我们在checkin上有一个触发器,它将设计器文件InitializeComponent部分修改为一致且有序的方式,以便diffs显示真正的变化。
we want to split InitializeComponent into 4 sections - creation, layout suspension, setup and layout resuming. Each of these sections are then separately ordered according to the names of the controls.
我们想将InitializeComponent分成4个部分 - 创建,布局暂停,设置和布局恢复。然后根据控件的名称单独对这些部分中的每一部分进行排序。
#2
Windiff was designed for comparing files. It uses a 2 way diff merge algorithm, that only allows you to see changes between two versions of a file, so you just have to guess which changes should be applied to a result file.
Windiff专为比较文件而设计。它使用双向差异合并算法,只允许您查看文件的两个版本之间的更改,因此您只需要猜测哪些更改应该应用于结果文件。
For merging you should really look into using a 3 way diff algorithm/tool.
对于合并,你应该考虑使用3路diff算法/工具。
In a 3 way diff the diff tool uses the original version of a file to extract the changes of your file (%mine) against the origin (%base) and their file (%theirs) against the origin and then applies all changes to the original version to create a single result. (And if there are any conflicts i
在3方式差异中,diff工具使用文件的原始版本来提取文件(%mine)对源(%base)及其文件(%theirs)对原点的更改,然后将所有更改应用于原始版本创建单个结果。 (如果有任何冲突我
A very user friendly 3 way GUI diff tool that you can use for free is SourceGear DiffMerge (Recommended), but TortoiseMerge also implements a 3 way merge.
一个非常用户友好的3种GUI diff工具,你可以免费使用SourceGear DiffMerge(推荐),但TortoiseMerge也实现了3路合并。
You can find a list of other common merge tools on Wikipedia.
您可以在Wikipedia上找到其他常见合并工具的列表。
#3
If you are using Resharper, reformat (including sorting members and whatever) those files before checking in.
如果您正在使用Resharper,请在签入之前重新格式化(包括排序成员等)这些文件。