Git Server: ignora as mudanças de espaço em branco em novos commits

1

Eu encontrei muitas maneiras de lidar com o problema de espaço em branco no Git, mas todas elas requerem algum tipo de ação no lado do usuário: configure o Git para ignorar as mudanças de ws, configure um gancho de pré-commit com aviso, ou apenas configure o editor para removê-los automaticamente. Mas existe uma maneira de simplesmente ignorar as alterações de espaços em branco no lado do servidor ou ainda melhor para remover todos os espaços em branco silenciosamente?

Antecedentes: temos um grande repositório com vários desenvolvedores que não queremos perseguir e convencer a reconfigurar suas ferramentas, mas não queremos ter nenhum espaço em branco no nosso repositório. Para mim, a solução é óbvia: remover todos os espaços em branco uma vez e ignorar quaisquer alterações feitas a partir desse ponto. Idealmente, também despir ws em todos os novos commits. Mas como posso fazer isso?

    
por Ufos 28.10.2016 / 17:50

1 resposta

4

Você não pode realmente fazer isso de forma adequada. Você não pode modificar o conteúdo de um commit; você só pode criar novos commits. Mesmo que isso fosse possível, isso quebraria o git: os commits no servidor não estariam relacionados ao histórico armazenado nos repositórios locais do desenvolvedor, e nada funcionaria. Você realmente precisa executar esse tipo de filtragem antes que arquivos sejam adicionados ao repositório, e é por isso que você faz isso do lado do cliente em pre-commit hooks, etc.

Uma solução melhor é implementar um mecanismo de imposição no servidor: rejeitar alterações que não atendem a seus padrões.

    
por 28.10.2016 / 21:30