Git - descartar alterações somente no caso

Então, estou usando o git (com o Git Extensions 2 no Windows) com uma grande base de código VB6. Para quem não está familiarizado com o VB6, ele não diferencia maiúsculas de minúsculas e tem o hábito de alterar o caso de nomes de variáveis ​​sempre que você salva um arquivo. Existem passos que podem ser tomados para minimizar este comportamentoPare o Visual Basic 6 de alterar minha caixa), mas é inviável eliminar completamente o problema dessa forma. O problema, é claro, é que as mudanças no caso aparecem como mudanças no Git, interferindo assim no histórico de commits a ponto de, na verdade, as mudanças serem quase impossíveis de encontrar.

Eu estou procurando uma maneira de lidar com isso do lado do controle de origem e gostaria de receber qualquer entrada. As avenidas que estou buscando atualmente estão em ordem de preferência:

Tornar o diff do Git insensitivo - Parece que não é possível encontrar uma maneira de fazer isso. Ele também não selecionará alterações em strings, mas esse é um preço que estou disposto a pagar por uma solução fácil.Redefinir pedaços com apenas alterações baseadas em casos antes de confirmar.Mover para o Visual Source Safe, que tem uma opção para diff insensível a maiúsculas - No ...

Tenho a sensação de que a opção número 2 é provavelmente a minha melhor aposta, mas não tenho certeza da melhor maneira de lidar com isso. Minha linha de pensamento atual é:

Crie alguma ferramenta para automatizar a linha de comando do GitUse o prompt interativo para iterar todas as alterações, dividindo até os menores pedaçosPara cada pedaço, se as únicas alterações forem apenas maiúsculas e minúsculas, redefina-o

Tenho certeza de que esta é a melhor solução possível. A execução dessa ferramenta antes do preparo resolverá todos os problemas. Alguém tem alguma opinião sobre este método?

Além disso, se eu descer esse caminho, seria preferível ter um gancho Git para evitar qualquer alteração apenas no caso. Eu não tenho absolutamente nenhuma idéia de como implementar algo assim, então qualquer ajuda para criar um script como esse seria ótimo.

Para dar uma idéia da escala do problema, quando o caso de uma variável muda, ele irá mudar TODAS as instâncias de cada variável com o mesmo nome em arquivos abertos. Todo commit, isso terá acontecido com várias variáveis ​​e parecerá que ~ 30% de cada arquivo modificado foi alterado. Isso faz com que um processo manual (que é o que estou fazendo atualmente) seja pouco prático e útil apenas para commits realmente pequenos.

Muito obrigado por qualquer ajuda!

questionAnswers(2)

yourAnswerToTheQuestion