Diff

From BlackBox Framework Wiki
Jump to: navigation, search

For GUI

If you want to use Git (or Svn) for managing BlackBox source code and resource files, which are in a binary format (.odc), you need a diff viewer capable of handling this specific file format. As it turned out, BlackBox can be used for that purpose with just a small adaptation.

Here is how to set it up for Git:

1. Download and unpack the DiffConfig1.7 package, which simply contains a special version of a BlackBox 1.7 Config file. You may need to recompile it if you need it for a version other than 1.7. For BlackBox 1.6 you can use the DiffConfig1.6 package.

2. Under Git settings configure a diff viewer for the .odc file name extension.

The details depend on which Git client tool you use but there is always a way for setting up a diff viewer for a specific filename extension. For TortoiseGit you select the entry 'Settings' under the Git Popup menu. Then select 'Diff Viewer' and 'Advanced...'. Then 'Add...' a new diff viewer and adapt the paths as needed:

Extension: .odc

External Program: "C:\Program Files\BlackBox Component Builder 1.7\BlackBox.exe" /USE "C:\Program Files\DiffConfig" %mine %base

The BlackBox.exe path of course may need to be adapted. Note that there are double quotes required if the path contains spaces. That is it.

Now you can use all the diff commands of your Git client for .odc files. The Config file simply tiles the window vertically, the left window showing the base version, and the right window showing the new version. Then it invokes the Info->Compare Texts command (F9). You use F9 to step to the next difference.

For Terminal

To use binary to text converter from terminal in Linux:

1. Download odcread, compile and install it in a system folder.

git clone http://github.com/gertvv/odcread.git
cd odcread
sudo apt-get install g++
make
sudo mv odcread /usr/bin

2. In local repository make file .git/info/attributes with content

*.odc diff=cp

3. In file .git/config add next three lines at the end:

[diff "cp"]
     binary = true
     textconv = /usr/bin/odcread