Cómo verificar que el file revisado revisado es exactamente lo que se ha comprometido en el repository SVN

Tenemos un process de revisión de código en el que un desarrollador envía un file de parche con sus cambios al equipo. Después de revisarlo, se le indica que realice o realice cambios y vuelva a enviarlos.

¿Cómo podemos asegurar que lo que se ha "comprometido" es exactamente lo que se ha "aprobado", es decir, si realiza cambios posteriores sin aprobación y los compromete, ¿cómo puedo detectarlos?

Tengo el 'file de parche' original en mi extremo, pero:

  • ¿Cómo puedo 'generar' algo similar entre las dos versiones comprometidas y
  • ¿Es viable comparar esos dos files?

Supongo que podrías hacer esto aplicando el parche en la revisión anterior y luego comparando el mismo con la última versión del código por diferencia.

Puede usar svn diff para esto.

Probablemente quiera echarle un vistazo a esta respuesta: ¿Cómo hacer que svn diff produzca el file que aplicaría el parche, cuando se usaba svn cp o svn mv?

La manera más fácil es que el revisor comprometa los cambios que aprobó. He visto un equipo antiguo (hace un time) donde solo el gerente de proyecto podía comprometerse con el repository de producción. El caso es que, como tiene que comprometer demasiadas cosas, realmente no revisó nada, así que fue un poco inútil.

La solución más simple sería poner dichos parches en una twig lo que significa que el desarrollador verificará el código en la twig. Que un revisor puede verificar el código y fusionar el código a una línea de integración particular. Esto asegura que el código registrado es exactamente lo que se ha verificado. Además, este enfoque tiene la ventaja de que la sugerencia que se ha realizado también se documentará en el control de la versión.

El revisor también debe ser un committer para asegurarse de que él compromete lo mismo que revisó y aprobó.