Actualmente estoy trabajando en una herramienta de generación de código fuente. Para asegurarme de que mis cambios no introducen ningún error nuevo, un diff
entre el resultado del programa antes y después de mis cambios sería, en teoría, una herramienta valiosa.
Sin embargo, esto resulta ser más difícil de lo que uno podría pensar, porque la herramienta genera líneas donde el orden no importa (como import
declaraciones, declaraciones de funciones, ...) de una manera ordenada de forma semi aleatoria. Debido a esto, la salida de diff
está abarrotada de muchos cambios que, de hecho, son solo líneas movidas a otra posición en el mismo archivo.
¿Hay alguna manera de hacer que diff ignore estos movimientos y solo muestre las líneas que realmente se han agregado o eliminado?
diff
herramienta separar movimientos válidos de los inválidos, ya que el orden de las instrucciones en el código es importante y los casos en que esto no es cierto son limitados (importaciones, declaración de funciones y clases, etc.)