I am trying to compare a binary file using "git difftool". This file is also staged, but it seems that this isn't important. So I am using something like below:
git difftool --staged /path/to/file
and my .gitconfig is configured like so:
[difftool "bc3"]
path = C:/Program Files (x86)/Beyond Compare 3/BComp.com
cmd = BComp.com \"$LOCAL\" \"$REMOTE\" -lefttitle="Remote" -righttitle="$BASE" -lro
[diff]
tool = bc3
[difftool]
prompt = false
So when I run git difftool
it opens Beyond Compare as expected, however, I get an error that the base binary file doesn't exist. The modified local copy is correctly loaded into the tool.
I have noticed this with *.bcpkg (Beyond Compare settings file, a zip file basically), and also regular *.zip files. But seems to work fine for *.exe files. What I have noticed is that git difftool
shouldn't return unless Beyond Compare is closed, because if it returns the temp file created by it gets deleted. But in case of a zip file it always returns immediately.
By the way diff for all other file types works fine for me. I am on Windows 7 (64-bit) and as you can see have configured Beyond Compare 3.
This is fixed in Beyond Compare 4. Beyond Compare 4 supports diffing zip files from git.
Beyond Compare 3 doesn't support diffing zip files from git. It will fail with the error message: Folder Not Available: C:\Users\username\AppData\Local\Temp\42Ycl9_filename.zip
If you want to evaluate Beyond Compare 4 to test zip file diffs, run the installer and select Create portable install and install to a folder on your desktop. This doesn't require admin rights. Then run git config --global difftool.bc3.path "c:/users/username/desktop/Beyond Compare 4/bcomp.exe" to make git use the portable install. After you're done testing, just delete the folder on your desktop to remove the version 4 portable install.
To upgrade your license after evaluating a trial of version 4, fill in the upgrade form on the Scooter Software website.