Following a blog, I created a batch file, wm.bat:
\"d:\\svnroot\\external\\winmerge\\WinMerge.exe\" /B /WAIT \"d:\\svnroot\\external\\winmerge\\WinMergeU.exe
When using Cygwin and SVN 1.7 with WinMerge, use this batch file as the external diff tool. I had to adapt http://manual.winmerge.org/CommandLine.html to work with Cygwin paths.
In .subversion\config:
[helpers]
diff-cmd = C:\path\to\winmergesvndiff.bat
Contents of winmergesvndiff.bat
@echo off
set left=%6
set right=%7
REM Repeat these two lines for all drives
set left=%left:/cygdrive/c/=c:/%
set right=%right:/cygdrive/c/=c:/%
REM Path to WinMerge may vary
start "WinMerge" /B "C:\program files (x86)\winmerge\WinMergeU.exe" /e /s /ub /dl %3 /dr %5 %left% %right%