我正在尝试从元差异套件中获取 lvdiff 以与 Git 一起使用。
我的 .gitconfig 看起来像这样:
[gui]
recentrepo = C:/Users/Tanner/Desktop/FIRST 2010 Beta/Java/LoganRover
[user]
name = Tanner Smith
email = [email protected] /cdn-cgi/l/email-protection
[merge "labview"]
name = LabVIEW 3-Way Merge
driver = 'C:/Program Files/National Instruments/Shared/LabVIEW Merge/LVMerge.exe' 'C:/Program Files/National Instruments/LabVIEW 8.6/LabVIEW.exe' %O %B %A %A
recursive = binary
[diff "lvdiff"]
#command = 'C:/Program Files/meta-diff suite/lvdiff.exe'
external = C:/Users/Tanner/Desktop/FIRST 2010 Beta/lvdiff.sh
[core]
autocrlf = true
lvdiff.sh 看起来像这样:
#!/bin/sh
"C:/Program Files/meta-diff suite/lvdiff.exe" "$2" "%5" | cat
我的 .gitattributes 文件如下所示:
#Use a cusstom driver to merge LabVIEW files
*.vi merge=labview
#Use lvdiff as the externel diff program for LabVIEW files
*.vi diff=lvdiff
但每次我进行 diff 时,Git 返回的都是:
diff --git a/Build DashBoard Data.vi b/Build DashBoard Data.vi
index fd50547..662237f 100644
Binary files a/Build DashBoard Data.vi and b/Build DeashBoard Data.vi differ
就好像它没有使用它,甚至没有识别我的更改。有任何想法吗?
我没有 LabView,但您的配置有一些错误。
- diff.lvdiff 下的“外部”设置应命名为“command”。
- 你的“%”
lvdiff.sh
应该是“$”。
在我的机器上(不是Windows,没有LabView),使用diff.lvdiff.command
和你的.gitattributes
就足以让git diff foo.vi
运行外部 diff 驱动程序(我什至使用了路径名中带有空格的不同驱动程序)。下的错误配置diff.lvdiff
这就是为什么您会看到“二进制文件”消息,它是看似二进制文件的默认差异消息。你可能一直在想diff.external
,这与diff.foo.command
,但适用于所有文本差异,而不仅仅是具有diff=foo
属性。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)