如何解决KDiff在解决合并冲突时增加额外空行的问题?

Posted

技术标签:

【中文标题】如何解决KDiff在解决合并冲突时增加额外空行的问题?【英文标题】:How to solve the problem that KDiff adds extra blank lines when resolving merge conflicts? 【发布时间】:2021-11-09 14:28:17 【问题描述】:

如何解决KDiff在解决合并冲突时添加额外空行的问题? 将设置中的结束行和编码更改为任何其他都无济于事。

如果在运行 git mergetool 之前我们有:

line1
line2
line3

然后在开始并解决冲突之后:

line1

line2

line3

【问题讨论】:

您能否使用能够显示不可打印字符的编辑器或使用十六进制转储器检查原始文件中的行尾以及结果中的行尾kdiff 合并? windows 和 unix 行尾我都用过,结果是一样的。还尝试设置自动检测结束线 我遇到了同样的问题(我的所有文件都有一个 CR + LF 对行结尾) 【参考方案1】:

这是 KDiff3 版本 1.8.6 中引入的错误。

要修复它,请卸载您的 KDiff3 版本并安装 KDiff3 版本 1.8.5。它应该可以工作。

以下是下载链接: https://download.kde.org/stable/kdiff3/

参考资料:

https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=256606 https://invent.kde.org/sdk/kdiff3/-/issues/25#register-pane

编辑: 此错误将在几天后发布的 1.9.4 中修复。 https://bugs.kde.org/show_bug.cgi?id=442199

【讨论】:

在 1.9.3 中仍然被破坏(至少在 Windows 上)invent.kde.org/sdk/kdiff3/-/issues/26 下载链接不再包含任何 1.8.x 版本的链接? 即将发布的 1.9.4 解决了这个问题。如果您有 1.8.6,那不是正式版本,但很可能会受到影响。 1.9 分支破坏了一些东西。作为一种解决方法,Unix 风格的行应该在 1.9.3 中工作。 同时这里是 KDiff3 1.8.5 win 64 的链接:mirrors.ocf.berkeley.edu/kde/Attic/kdiff3/…

以上是关于如何解决KDiff在解决合并冲突时增加额外空行的问题?的主要内容,如果未能解决你的问题,请参考以下文章

如何正确使用 KDiff3 与 TortoiseSVN 来解决冲突?

如何将 kdiff3 设置为 SVN 的合并工具

如何使用--theirs或--ours合并大多数冲突?

使用正则表达式自动合并

Git:如何将 KDiff3 配置为合并工具和差异工具?

解决 Git 冲突的 14 个建议和工具