我有时会编辑类似xml的文件,例如plist
s或xib
s,有时会得到像这样的差异。
它不是以<dict>
开头并以</dict>
结尾的差异,而是以+2行开始和结束。有时使用Objective-C代码也会发生这种情况。我会在case
中添加一个新的switch
,差异不会从case
下降到break
,但它会再次有一到两行的偏移量。
我知道发生这种情况是因为上一行和下一行基本相同,但有没有办法可以避免这种情况,解决这个问题,或者以某种方式改变它的行为?
感谢。
答案 0 :(得分:3)
尝试另一种差异算法。我的成绩很好 在这种情况下耐心算法。
使用例如:
git diff --patience
来自git-diff
手册:
<强> - 耐性强>
使用“耐心差异”算法生成差异。
<强> - DIFF-算法= {耐性|最小|直方图|迈尔斯} 强>
选择差异算法。变体如下:
默认, myers
基本的贪婪差异算法。目前,这是默认设置。
最小
花些额外的时间来确保产生尽可能小的差异。
耐性
生成补丁时使用“耐心差异”算法。
直方图
该算法将耐心算法扩展为“支持低发生的共同元素”。
相关: