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