有没有可以与LabVIEW一起使用的git图形化差异工具?

4
我的雇主想要将我们的版本控制系统切换到Git。我试用了它,阅读了手册,到目前为止我对它非常满意,但是我遇到了一个问题,似乎很难解决。我们不仅使用文本语言,还使用LabVIEW 2014(一种图形化编程语言)。由于Git以二进制快照存储数据,因此兼容性不是问题,但查看更改和合并似乎相当困难。我已经寻找了几个小时的diff-alternatives,但没有找到符合我们需求的东西。
实际上,LabVIEW有一个内置的工具来比较源文件和合并文件。这些工具被锁在程序中,似乎不可能在没有IDE运行的情况下启动它们,因为它们只适用于专业许可证的用户。尽管我们拥有这个版本,但似乎只能从源编辑器菜单中启动它们。
仅从命令行启动LVCompare.exe会导致以下错误(我们运行Windows 10,这只是Git Bash中的错误)在一个单独的窗口中显示:
$ ./LVCompare.exe ~/PATH_TO_PROJECT/Current_Test.vi ~/PATH_TO_PROJECT/Forecast_Test.vi


An error occurred while running LVCompare.

Open VI Reference in LVCompare.vi<APPEND>
VI Path: <b>C:\/Users/PATH_TO_PROJECT/Current_Test.vi</b>

我能想到的唯一解决方法是非常不方便的,因为你不能同时打开两个名称相同的VI(源文件)。如果我需要比较文件的两个版本,我必须先检出第一个版本,将该文件复制到工作目录下的另一个名称下,然后再检出第二个版本,在LabVIEW中打开该文件,打开比较工具并选择第一个文件。你可以猜到这是一个相当糟糕的选项,我不认为其他开发人员会感到舒适。
我需要的是一个图形化、windows-ready的工具,可以显示差异。命令行解决方案在这里完全不适用,因为那只会让查找变得更加复杂。
我检查了数十个网页,确实有一些开发人员声称编写了自己的工具,但大多数情况下你需要安装大量辅助软件,它们会产生类似的错误或根本无法工作。
所以,最终我的问题是:有没有可能在不经历所有这些困难的情况下显示两个git版本的LabVIEW源文件之间的差异?

lvdiff - phd
https://stackoverflow.com/search?q=%5Blabview%5D+%5Bgit%5D+diff - phd
您可以查看Delacor的此演示文稿,了解如何配置Git以使用LV Merge和Diff工具。 - kosist
这实际上解决了问题!你必须将LVCompare和LVMerge的路径放在引号中("C:\Program Files (x86)\National Instruments\Shared\LabVIEW Compare\LVCompare.exe"...)。 - mju
2个回答

3
对于遇到相同问题的用户:如果您想要使用LVCompare.exe或LVMerge.exe,则必须正确地将它们链接到以下文件扩展名上:.vi、.vit、.ctl和.ctt。在TortoiseGit中,前往[设置 > 差异查看器 > 高级]和[设置 > 合并工具 > 高级]并创建列表项。使用以下格式的命令:
LVCompare.exe:
"C:\Program Files (x86)\National Instruments\Shared\LabVIEW Compare\LVCompare.exe" %mine %base -nobdcosm -nobdpos

LVMerge.exe:

"C:\Program Files (x86)\National Instruments\Shared\LabVIEW Merge\LVMerge.exe" %base %theirs %mine %merged

感谢kosist分享此链接


1

关于LVCompare

仅从命令行启动LVCompare.exe会导致以下错误(我们运行Windows 10,这只是Git Bash的问题),在单独的窗口中显示(不在Bash中):

$ ./LVCompare.exe ~/PATH_TO_PROJECT/Current_Test.vi ~/PATH_TO_PROJECT/Forecast_Test.vi


An error occurred while running LVCompare.

Open VI Reference in LVCompare.vi<APPEND>
VI Path: <b>C:\/Users/PATH_TO_PROJECT/Current_Test.vi</b>

即使在git-bash中,也请使用Windows目录分隔符与LabVIEW进行交互:\ 关于从git中区分VI文件:
“有没有可能显示两个git版本控制的LabVIEW源文件之间的差异,而不必经历所有这些麻烦呢?”
请参阅此GitHub项目:https://github.com/joerg/LabViewGitEnv
mkdir -p /c/repos/other && cd /c/repos/other
git clone -b windows git://github.com/joerg/LabViewGitEnv.git
cd LabViewGitEnv
bin/LVBootstrap.sh --system

使用反斜杠代替正斜杠没有改变任何东西。我猜 git bash 是自己替换它们的。而 LabViewGitEnv 只是另一个调用 LVCompare 的程序,所以问题仍然存在:LVCompare 没有启动。 - mju
也许路径中也有空格,这种情况下LabVIEW希望每个参数都是双引号括起来的字符串。通过将命令行参数传递给LabVIEW可执行文件进行一些实验,看看会发生什么其他惊喜。 - Joe Friedrichsen

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