Estou pensando em mudar essa loja .NET do svn para o git e identifiquei alguns problemas auxiliares que gostaria de ter uma solução antes de ativar o switch.
O que eu estou perguntando em particular nesta pergunta é a imposição de final de linha. Por padrão, o git for windows instala com o 'checkout crlf, commit lf', que não funcionará para um monte de fontes que (até onde eu saiba) sejam exclusivamente compostas de terminações crlf.
Eu não sei se confiava cegamente em qualquer desenvolvedor para configurar isso corretamente, mesmo com instruções dadas, por isso estou considerando um (ou ambos) dos itens a seguir, mas fiquei curioso para saber se alguém aqui havia seguido outra rota.
- Um gancho de pré-confirmação que verifica qualquer final de linha lf (ou talvez todos os finais de linha lf) e rejeita nesse caso.
- Um script de instalação distribuído para desenvolvedores que preenche a configuração global com o 'como está, como está'.
PS Enquanto escrevia isso, ocorreu-me que a conversão inicial de svn para git poderia se comprometer da maneira padrão e contanto que as pessoas continuassem com o padrão, o que também seria bastante uniforme. Tendo sido um desenvolvedor usando o git em uma loja do .NET que instalou o git com o não-padrão 'como está, como está', criei meus próprios problemas lá também (todos rolaram o padrão antes da minha chegada) . Então, eu ainda estou inclinado a algum tipo de mecanismo de imposição.