2009-03-27 12 views
9

Me gustaría usar el formateador de Eclipse para arreglar un código mal diseñado, pero hay un gran inconveniente en matar todos los metadatos en el repositorio sobre quién es responsable de qué. ¿Alguna idea de cómo evitar esto? Tal vez es completamente imposible ...estilo de limpieza que no pisotea svn culpa?

Respuesta

7

Se puede decir que la culpa para ignorar los cambios de espacio en blanco:

svn blame -x -w file/path 

Por supuesto que sólo funciona si tu dosis de estilo no cambia más de espacios en blanco.

+0

Esto se ve genial, pero no funciona para mí. ¿Cuál es la magia? ¿Qué cliente y plataforma estás usando actualmente? – atikat

+0

Tortoise svn ignora los cambios de espacio en blanco por defecto (hay una casilla de verificación para cambiar esto). – fschmitt

+0

Si quiere que también ignore los cambios en las líneas nuevas (CRLF vs. LF), use 'svn blame -x -w -x --ignore-eol-style'. Ver 'svn help blame' y [esta pregunta] (https://stackoverflow.com/questions/7449503/how-can-i-ignore-eol-changes-and-all-white-space-in-svn). –

1

La historia sigue ahí, solo tendrá que echarle la culpa antes de la revisión de limpieza.

Esta es una buena razón para tener un estándar de estilo. Los cambios de sangría pueden causar una gran cantidad de conflictos de fusión, etc. "Malo estilo" a uno está bien escrito en otro.

+0

lamentablemente, hay una gran base de código mal diseñado para comenzar. Supongo que un punto de dolor es que las anotaciones de eclipse solo muestran el cambio más reciente. Y la gente los usa bastante. – Jacob

0

Al reformatear el código, generalmente solo arreglo la sangría. Hay demasiados casos en los que el formateador automático arruina una sección cuidadosamente formateada a mano.

0

Otra solución sería agregar un enlace precompromiso que compare el archivo confirmado con su versión formateada. Si no hay diferencia, la confirmación es aceptada.

De lo contrario, un mensaje simple "Código no formateado: confirmación rechazada" informaría a los desarrolladores que deben modificar el estilo de sus archivos modificados antes de la confirmación.

Combinado con la respuesta de Stefan, aún puede utilizar la opción -w y, además, no anula los nombres del desarrollador.

Una desventaja es que no podrá diseñar su repositorio completo en una sola pasada. Los archivos se diseñarán según se modifiquen. A menudo, los archivos usados ​​se diseñarán rápidamente, mientras que otros nunca se actualizarán.

Cuestiones relacionadas