subversion and tkdiff
[Subversion](http://subversion.tigris.org/)
is my version control of choice, and [tkdiff](http://tkdiff.sf.net/) is my
graphical diff of choice. I love them both equally.
However, for a while, I thought they couldn't play well together. I tried **svn
diff --diff-cmd tkdiff **, but it just produced an ugly error message,
because svn passed command-line options to tkdiff that it didn't understand.
I recently sat down to take another look, and found that Subversion support was
added to tkdiff in version 4.0. Now, in a Subversion working directory, **tkdiff
** automatically diffs the file against HEAD. Sweet!
I use this simple shell script to tkdiff all files that I've modified:
#!/bin/csh
foreach file ( \`svn st -q | cut -c 8-\` )
tkdiff $file
end
One caveat: by default, tkdiff talks to the master repository (usually over the
network) to get HEAD. This is unnecessary, and way slow. BASE is usually just as
good, and it's stored locally, in .svn/text-base. [This
patch](http://sourceforge.net/tracker/index.php?func=detail&aid=1111661&group_id=64960&atid=509272)
makes tkdiff use the local copy instead.