Are you using Git in Ubuntu and want to use an external visual diff viewer? It's easy! I will be using Meld for this example but most visual diff tools should be similar. If you don't already have Meld, then install it:
sudo apt-get install meld
Ok. Now let's begin by breaking it. Enter this into a terminal:
git config --global diff.external meld
Then navigate to a Git tracked directory and enter this (with an actual filename):
git diff filename
Meld will open but it will complain about bad parameters. The problem is that Git sends its external diff viewer seven parameters when Meld only needs two of them; two filenames of files to compare. One way to fix it is to write a script to format the parameters before sending them to Meld. Let's do that.
Create a new python script in your home directory (or wherever, it doesn't matter) and call it diff.py.
#!/usr/bin/python import sys import os os.system('meld "%s" "%s"' % (sys.argv, sys.argv))
Now we can set Git to perform it's diff on our new script (replacing the path with yours):
git config --global diff.external /home/nathan/diff.py git diff filename
This time when we do a diff it will launch Meld with the right parameters and we will see our visual diff.