The examples didn't work exactly as-is for me. I had to make some modifications and wanted to share them on this thread. The script modifications allow for LVCompare.exe to work on 32-bit and 64-bit Windows systems, however it has not been tested on a 64-bit system yet.
To use this with Atlassian SourceTree, modify your .gitconfig file to include:
[diff]
tool = "sourcetree"
[difftool "sourcetree"]
cmd = ''C:/<INSERT PATH TO SCRIPT HERE>/_LVCompareWrapper.sh'' "$REMOTE" "$LOCAL"
where <INSERT PATH TO SCRIPT HERE> can be wherever you decide to save the shell (.sh) file.
Here is the contents of the "_LVCompareWrapper.sh" file
#!/bin/bash
# Method to determine absolute path
# The -W parameter on the pwd command is necessary to return the Windows
# version of the path. Not using the -W parameter will result in a conversion
# of temp directory to a 'tmp' path meaningful only in the Linux environment.
# Piping the result through tr '/' '\\' translates the forward slashes to backslashes.
# Windows understands forward slashes, but LVCompare.exe does not.
abspath () {
(
DIR=$(dirname "$1")
FN=$(basename "$1")
cd "$DIR"
echo -n "$(pwd -W)/$FN" | tr '/' '\\'
)
}
lvcompareNormalLocation="C:/Program Files/National Instruments/Shared/LabVIEW Compare/LVCompare.exe"
lvcompare64bitWin32bitLV="C:/Program Files (x86)/National Instruments/Shared/LabVIEW Compare/LVCompare.exe"
if [ -e "$lvcompareNormalLocation" ]; then
lvcompare="$lvcompareNormalLocation"
elif [ -e "$lvcompare64bitWin32bitLV" ]; then
lvcompare="$lvcompare64bitWin32bitLV"
else
echo "LVCompare not found!"
exit
fi
#echo "Using $lvcompare"
local=$(abspath "$2")
remote=$(abspath "$1")
echo Launching "$lvcompare"
#echo Launching "$lvcompare" -nobdpos -nofppos "$local" "$remote"
exec "$lvcompare" -nobdpos -nofppos "$local" "$remote"