I have recently been doing some fairly intensive merging and difference checking with Tortoise SVN and subversion and once again find myself thanking my luck stars that Winmerge is installed on my (windows) system just waiting to lend a helping hand!
For those who haven’t come across it Winmerge is an open source tool for visually checking file differences, it allows you to move individual changes or differences from one file to the other. I have found it to be one of the best such tools and it’s free! It also does a good job of comparing a whole directory tree of files.
Tortoise SVN can be configured to use Winmerge when showing differences etc. rather than its default difference visualiser, I find that this makes tortoise much more effective. Instructions for configuring Winmerge as the default diff viewer can be found in the Tortoise help pages, but to summarise:
Right-Click on a folder in explorer, choose the ‘Tortoise SVN’ sub menu and then choose the ‘Settings’ menu option. Click on the ‘Dif Viewer’ pane, select ‘External’ and enter the following into the text-box below:
C:\Program Files\WinMerge\WinMergeU.exe -e -x -ub -dl %bname -dr %yname %base %mine
[the path entered will depend on where you installed Winmerge, for the real low-down on configuring this you had better check the documentation!]
Anyway, to sum up, if you find yourself struggling with comparing files or merging changes with subversion then I have found that Winmerge can be of great help, I can’t imagine doing without it anymore!