I've been doing some collaborative hacking on a paper. This makes
git's git diff --color-words option very useful. Getting git's
repository viewer, gitk, to use this option was not easy, and the
result is not terribly satisfying given the poor integration. But, it
is functional and a lot easier to use then manually copying SHA1 IDs.
After poking around gitk's menus, I saw it can use an external diff
program. Unfortunately, this is only used when right clicking on a
file in the bottom-right panel and selecting external diff; it is
not used for generating the diffs in the lower-left panel. Further,
gitk does not actually use the output from this program: it expects
the extral program to show the output itself; git diff just sends
the output to stdout. The following program works around these
limitations: it launches git diff in an xterm and sends the output
to less:
#!/bin/bash
# git diff will happy work on files. If you do not run it from a
# directory managed by git.
D=`pwd`
cd /
xterm -e bash -c "git diff --color-words -- \"$D/$1\" \"$D/$2\" | less -R"