¿Cómo ignorar la convención / coding style mientras se genera diff usando svn?

¿Cómo podemos ignorar la convención de encoding mientras generamos diff usando svn?

Para elaborar, no quiero distinguir entre los siguientes dos styles de encoding

while (variableIter.hasNext()) { lModel = variableIter.next(); } 

Y

 while (variableIter.hasNext()) { lModel = variableIter .next(); } 

Si ejecuto un svn diff, obtendré el siguiente diff:

  - while (variableIter.hasNext()) - { - lModel = variableIter.next(); + while (variableIter.hasNext()) { + lModel = variableIter + .next(); 

Pero no quiero que esto sea parte de la diferencia. Me gustaría que svn ignore este tipo de diferencias de coding style. Entonces, ¿hay alguna opción en svn que pueda ayudarme a hacer esto? O ¿hay un script o algo que pueda ejecutar en el svn generado diff para escupir solo los cambios reales y no el coding style?

TIA

No sé si svn tiene una function integrada para hacer eso. De todos modos, podría usar alguna herramienta para sangrar uniformemente su código antes de enviarlo, como la herramienta de sangrado para C (http://www.gnu.org/software/indent/).

O puede intentar iniciar el diff con esta opción: svn diff -x -w

No puedo ayudar con la diferencia producida directamente por subversión.

Pero una vez que te das count de que las diferencias que estás viendo están relacionadas con el formateo, entonces puedes recurrir a herramientas alternativas que difieren. Vea nuestras herramientas Smart Differencer . Estas herramientas son específicas del idioma. Trabajan parsing el lenguaje y construyendo treees sintácticos abstractos, y luego comparando los treees. Eso los hace completamente blancos (y comentar) insensibles; reformatear el código no aparece como una diferencia. Los diffs se informan como elementos de lenguaje (operando, expresión, instrucción, statement, bloque, método, class, …) y acciones de edición (mover, eliminar, insert, copyr, cambiar el nombre de variable-dentro del bloque y son precisos para el inicio línea / columna y línea / columna final.

Actualmente tenemos SmartDifferencers para muchos idiomas, incluidos C, C ++, C #, Java, JavaScript, PHP.