【问题标题】:Is there any graphical diff tool for git, that can be used with LabVIEW?是否有任何可用于 LabVIEW 的 git 图形差异工具?
【发布时间】:2018-10-02 11:57:56
【问题描述】:

我的雇主想将我们的版本控制系统切换到 git。我试过了,读了一本手册,到目前为止我对此很满意,但是我遇到了一个问题,这似乎很难解决。我们不仅使用文本语言,还使用LabVIEW 2014(一种图形编程语言)。由于 git 将数据存储在二进制快照中,兼容性不是问题,但查看更改和合并似乎是不可能的。 几个小时以来,我一直在寻找差异替代品,但我没有找到任何适合我们需求的东西。

实际上,LabVIEW 有一个用于比较源文件和一个用于合并的内置工具。这些工具被锁定在程序中,如果没有运行 IDE,似乎无法启动它们,因为它们仅适用于专业许可证的用户。虽然我们拥有这个版本,但似乎我们只能从源代码编辑器菜单启动它们。

仅从命令行启动 LVCompare.exe 会在单独的窗口(不在 bash 中)中导致以下错误(我们运行 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 的工具,它可以向我展示差异。命令行解决方案在这里完全不存在,因为这只会使查找更改变得更加复杂。

我检查了几十个网页,确实很少有开发人员声称自己编写了工具,但大多数时候你必须安装很多辅助软件,它们会产生类似的错误或根本不起作用。

最后我的问题是:是否有可能显示两个 git 版本的 LabVIEW 源文件之间的差异而无需经历所有的努力?

【问题讨论】:

标签: git version-control labview git-diff


【解决方案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 中区分 VIs

是否有可能显示两个 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 没有启动。
  • 那么路径可能也有空格,在这种情况下,LabVIEW希望每个参数都有一个双引号字符串。尝试一下Pass Command Line Arguments to a LabVIEW Executable,看看会发生什么其他惊喜。
【解决方案2】:

对于遇到相同问题的所有人:如果您想使用 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

感谢kosistthis link

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-29
    • 1970-01-01
    相关资源
    最近更新 更多