如何使KDiff3自动合并而无需UI界面?

7
我该如何让KDiff3自动进行三方合并,且不显示用户界面?最好能够在成功时返回成功代码,在需要手动合并时返回错误代码。我已经阅读了相关内容,但似乎以下方法并不能实现:
"c:\Program Files\KDiff3\kdiff3.exe" --auto base.txt src.txt tar.txt -o merge.txt

然而事实并非如此。当我运行时,弹出了一个消息框,上面写着:
Total number of conflicts: 3
Nr of automatically solved conflicts: 3
Nr of unsolved conflicts: 0

如何在没有弹出窗口的情况下运行它,如果失败了则完全没有GUI?
1个回答

6

我找到了解决方法。需要在命令行中添加"--cs"和"ShowInfoDialogs=0"参数。因此,命令变成了:

"c:\Program Files\KDiff3\kdiff3.exe" --auto base.txt src.txt tar.txt -o merge.txt

...变成了这个:

"c:\Program Files\KDiff3\kdiff3.exe" --auto base.txt src.txt tar.txt -o merge.txt --cs "ShowInfoDialogs=0"

...现在它可以工作了。


1
请注意,--cs选项是不幸的持久性。因此,下次您交互式运行KDiff3时,它将不再显示那些对话框-似乎很糟糕。 http://kdiff3.sourceforge.net/doc/documentation.html “选项--cs允许您调整一个配置值,否则只能通过配置对话框进行调整。但请注意,当KDiff3终止时,更改的值将与其他设置一起存储。使用--confighelp可以找到可用项目和当前值的名称。” - O'Rooney

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接