I cannot help with diff created directly by subversion.
But as soon as you understand what differences you see related to formatting, you can move on to an alternative to great tools. See our Smart Differencer tools. These tools are language dependent. They work by analyzing the language and building abstract syntax trees, and then comparing the trees. This makes them completely whitespace (and commentary) insensstitive; reformatting the code does not show up as a difference. Diffs are reported as language elements (operand, expression, operator, declaration, block, method, class, etc.) And editing actions (move, delete, insert, copy, rename-variable-inside a block and the exact beginning of a row / column and end row / column.
Currently we have SmartDifferencers for many languages, including C, C ++, C #, Java, JavaScript, PHP.
source share