Use WinMerge for comparing archives with TortoiseSVN
I really like the Diff Viewer that comes with TortoiseSVN, but from what I can gather it doesn't seem to support anything but text files, which is fair enough, but I need to compare archives as well. Zip and Jar files in particular.
WinMerge supports that, and can be integrated with TortoiseSVN very easily right through its installer. But I prefer the diff viewer that comes with TortoiseSVN and the archive diff isn't recursive by default, so I decided to set it up manually.
- Install WinMerge
- Deselect Automagic TortoiseSVN integration
- Install the WinMerge 7-zip plugin
- Select Application specific installation
- Browse to WinMerge executable
- Enable Enable standalone operation
- Open WinMerge and go to Edit, Options, Archive Support
- Enable Detect archive type from file signature
- Switch to Use local 7-Zip from WinMerge folder
- Open TortoiseSVN Settings and go to Diff Viewer, Advanced
- Add rows with extension set to .zip, .jar and whatever archives you want WinMerge to handle and set external program to the following:
C:\Program Files (x86)\WinMerge\WinMergeU.exe /r /x /e /u /dl %bname /dr %yname %base %mine
If I now for example ask TortoiseSVN for a Diff with previous version of a jar file, I get WinMerge with a recursive comparison of the archive contents.
💡 When you're diffing archives in WinMerge, deselecting Show Identical Items under View makes actual differences much easier to see.