我使用Mercurial和Extdiff扩展来使用Mathworks的diff工具来区分Simulink(.slx)文件。要设置Extdiff扩展,我按照this website上的说明操作。差异Simulink(.slx)文件非常棒。
然而(这并不是很好)因为我设置了extdiff扩展,不仅Simulink文件使用Mathworks的工具,而且还有经典的Matlab文件(.m)。
我不希望这样,因为Mathworks的diff工具有点受限,而Matlab文件(它们是纯文本文件)可以使用Mercurial的标准差异工具轻松地进行区分。
下面你找到我的mercurial.ini。如您所见,它被配置为使用extdiff来表示.slx文件。但是.m文件没有设置设置。
# Generated by TortoiseHg settings dialog
[tortoisehg]
confirmaddfiles = True
confirmdeletefiles = True
[ui]
username = myname
[extensions]
largefiles =
extdiff =
[extdiff]
# Simulink
slxdiff = matlab -wait -nodesktop -r \"disp(\'Starting visdiff, please wait (even after the prompt appears).\');visdiff(\'$parent\',\'$child\')\"
[diff-patterns]
**.slx = slxdiff
如何使用Mathworks的diff工具和使用Mercurial标准差异工具的Matlab文件将配置更改为diff .slx文件?
答案 0 :(得分:1)
最后我找到了解决方案。通过为m文件添加diff-pattern,我可以强制md文件使用kdiff。
[diff-patterns]
**.slx = slxdiff
**.m = kdiff3
[extdiff]
# Simulink
slxdiff = matlab -wait -nodesktop -r \"disp(\'Starting visdiff, please wait (even after the prompt appears).\');visdiff(\'$parent\',\'$child\')\"
kdiff3.args = $base $local $other -o $output