在Meld中,有一个可用于添加同步点的选项。不幸的是,我无法弄清楚这些所谓的同步点是做什么的。我已经弄乱了它,但实际上似乎没有做任何事情(除了打破现场比较)。
我查过手册并四处搜寻,但未能解开这个谜。
该选项在编辑菜单和上下文菜单中可用:
答案 0 :(得分:14)
目的是用户能够在被比较的每个文件中设置点,这些点应该匹配。这有助于代码匹配算法在差异复杂的情况下确定两个文件如何相互关联。
我仍然通过反复试验来确定它,在一个文件中设置一个点然后在另一个文件中设置匹配点。它没有像我希望的那样好用;我让同步点进入不匹配状态。但它确实使事情明显变得更好。
答案 1 :(得分:4)
以下是如何在Meld中使用同步点:
答案 2 :(得分:0)
正如其他人所提到的,同步点是一种修复diff算法并告诉它什么与它自身混淆时匹配的方法。
使用它们的关键是在一行上单击一下,然后右键单击并从弹出菜单或主菜单中选择“添加同步点”。完整的解决方案是:
通过这种方式,我可以在差异中断的地方调整差异,从而更快地验证我的更改。当它只中断几行时,就很好了,当它中断了几行屏幕时,没有这种功能进行比较就变得很繁琐。
以下显示了一个融合差异,它在else
关键字中感到困惑。左边的那个块与新的default:
块进行比较。 (点击图片放大)
首先我左键单击左侧面板中的else,然后右键单击+“添加同步点”。
接下来,我左键单击右侧面板中的else
,然后再次右键单击+“添加同步点”。
结果现在是正确的:
现在我可以看到,当我将对象的向量更改为对象的共享指针的向量时,.
仅被->
更改了。
请注意,Meld在同步位置添加了一条黑线。这样可以更轻松地查看在何处添加同步点。