git merge: filtra files para evitar conflictos tontos (como espacios en blanco o cambios de mayúsculas y minúsculas)

Actualmente estoy dentro de una fusión muy complicada en git, y tengo muchos conflictos. El conflicto es sobre dos files fuente de Ada.

Me gustaría realizar una combinación que ignore los cambios en el espacio en blanco y los cambios de caso (ya que el lenguaje Ada no distingue entre mayúsculas y minúsculas). ¿Sabes si hay una manera de decirle a Git que ignore algún tipo de cambio antes de una fusión?

Mi solución es actualmente ejecutar la bonita printing de GNAT en ambas twigs antes de la fusión, pero si hubiera una solución común incluida en git, eso me ayudaría mucho.

de las notas de la versión de git 1.7.4:

* La estrategia "recursiva" también aprendió a ignorar varios cambios en el espacio en blanco; el más notable es -Xignore-space-at-eol.

No sé si hay una estrategia para ignorar los cambios de casos

En cuanto al problema del caso, que es problemático en SO insensible a mayúsculas y minúsculas durante una fusión, esto no será un problema con git 2.0.1+ (25 de junio de 2014).

Consulte commit ae352c7f37ef2098e03ee86bc7fd75b210b17683 por David Turner ( dturner-tw )

merge-recursive.c : corregir el error de fusión que cambia las mayúsculas y minúsculas

En un sistema de files que no distingue entre mayúsculas y minúsculas, al fusionarse, un file se eliminaría erróneamente del tree de trabajo si una confirmación entrante lo hubiera renombrado cambiando solo su caso.
Al fusionar un cambio de nombre, se eliminará el file con el nombre anterior, pero dado que el sistema de files considera que el nombre antiguo es el mismo que el nuevo, de hecho, se eliminará el nuevo.

Evitamos esto al no eliminar los files que tienen una clonación de caso en el índice en la etapa 0.