Git Diff: indica un movimiento de línea

Estoy desarrollando un script para usar con git diff para poder 'filtrar' las líneas que simplemente se movieron en un file. Visual Studio 2008 se ha convertido en un problema cuando se trabaja con files de Designer. A veces parece insistir en reescribir todo el file en un order diferente. Esto hace que sea difícil ver los cambios reales en el file. Estoy conectando git diff a una secuencia de commands para modificar la salida de git diff. Podría eliminar las líneas de la salida o podría replace el +/- con diferentes símbolos para indicar un movimiento, pero no estoy seguro de qué símbolos usar.

Esta no es una respuesta a la pregunta sino una posible solución alternativa al problema descrito.

No estoy familiarizado con los files de Visual Studio 2008 o Designer, pero me he encontrado con una solución en la que quería almacenar files en git que estaban siendo generados por otro progtwig. El order de las líneas en algunos de los files no importaba en absoluto. En otros files, el order no era importante, pero un tipo simple era inadecuado porque contenía estructuras de datos nesteds.

Mi solución fue hacer uso de filters en git para alterar el contenido del file antes de que se cometieran. Esto está configurado en dos partes. Primero necesita asignar un filter a los files usando un file .gitattributes .

 *.list filter=sort 

A continuación, el comportamiento del filter debe definirse en el file de configuration. Esto se puede hacer en su configuration de usuario ~/.gitconfig , o en la configuration de repos .git/config . Esto es solo local y no se comparte con otros de forma automática como parte del repository, por lo que si desea que otros hagan esto también, debe informarles.

 [filter "sort"] clean = sort smudge = cat 

El resultado de este filter simple fue que cuando los files estaban asignados al repository, en lugar de que las líneas estuvieran en el order aleatorio del progtwig que los creó, se orderaban alfanuméricamente y solo aparecían adiciones, eliminaciones y cambios en los diffs.

Ahora mencioné que tenía dos types de files diferentes con los que trabajan dos, uno simple y uno complejo. Para el complejo que contenía types de datos nesteds (las tablas de Lua serían específicas), creé (con mucha ayuda de otra persona) un script para leer el contenido del file, orderar cada sección anidada y generar el resultado orderado sin alterar el comportamiento cuando los datos fueron usados ​​más tarde.