2

meta-diff スイートから lvdiff を取得して Git で動作させようとしています。

私の .gitconfig は次のようになります。

[gui]
    recentrepo = C:/Users/Tanner/Desktop/FIRST 2010 Beta/Java/LoganRover
[user]
    name = Tanner Smith
    email = tanner@notimportant.net
[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

しかし、差分を実行するたびに、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

それを使用していないか、私の変更を認識していないようです。何か案は?

4

4 に答える 4

2

私はLabViewを持っていませんが、設定のいくつかのビットが間違っています。

  1. diff.lvdiffの下の「external」設定には「command」という名前を付ける必要があります。
  2. あなたの「%」lvdiff.shはおそらく「$」であるはずです。

私のマシン(Windowsではなく、LabViewではありません)では、を使用するdiff.lvdiff.commandと、外部のdiffドライバーを実行.gitattributesできますgit diff foo.vi(パス名にスペースが含まれるdiffドライバーも使用しました)。下の設定ミスdiff.lvdiffが「バイナリファイル」メッセージを表示する理由です。これは、バイナリのように見えるファイルのデフォルトの差分メッセージです。diff.externalに関連しているが、属性diff.foo.commandを持つパスのサブセットだけでなく、すべてのtexualdiffに適用されることを考えていたかもしれません。diff=foo

于 2010-01-02T21:17:26.477 に答える
1

LVDiff のパスにはスペースがありますが、パスを引用符で囲んではいけません (LabVIEW マージの場合のように)。

LVDiff はファイル名の重複を許可しません。おそらく、Git はリモート ファイルをシステムにコピーし、ファイルの名前を変更しません。lvdiff.vi を編集して、2 つのファイルのいずれかの名前を変更してみてください (2 番目のファイルの名前を変更することをお勧めします。

ここでいくつかの指示を参照してください

于 2010-01-03T07:50:17.493 に答える
0

これは、LabVIEW で作成された仮想計測器 (VI)ファイルのサイズと性質によって異なります。

  • サイズ: それらのファイルがテキストであるが小さすぎる場合でも、デフォルトではバイナリとして扱われます
  • 性質: それらがバイナリの場合、デフォルトの差分またはマージ ツールは機能しません。(したがって、あなたのカスタム差分セットは機能し.gitattributesないかもしれません.man
    .gitattributesページは、パッチを生成できるテキストファイルのみの差分を想定しています。おそらく、ファイルをテキスト表現に変換するために構成textconvオプションを定義する必要があります.vi.)

このSOの回答でカスタムマージをセットアップしようとしているときに、非常に小さなテキストファイルで同様の問題が発生しました。

于 2010-01-02T20:19:10.993 に答える
0

マージを実行する必要がある実際の LabVIEW パスへの参照を省略することで、Mercurial とのマージに成功しました。

[merge-tools]
LVMerge.args = $base $other $local $output
LVMerge.executable = C:\Program Files\National Instruments\Shared\LabVIEW Merge\LVMerge.exe
LVMerge.gui = True
LVMerge.binary = True
[merge-patterns]
**.vi = LVMerge
**.ctl = LVMerge
**.lvclass = LVMerge
**.xctl = LVMerge
**.lvlib =LVMerge

トン

于 2010-03-27T13:02:13.800 に答える