Publicado em: 21/Nov/2019
Atualizado em: 07/Jan/2020
git

Formatando automaticamente antes do commit

Escrever um arquivo .gitattributes contendo:

1*.java filter=clang-format-java

Acrescentar os operações clean e smudge

1git config --global filter.clang-format-java.clean 'clang-format -assume-filename=test.java'
2git config --global filter.clang-format-java.smudge cat
  • clean ocorre quando os arquivos são enviados para o stage
  • smudge quando os arquivos são enviados para o workspace (checkout)

Quando os arquivos são enviados para stage (git add) são passados via stdin então não dá para saber qual o tipo. O uso da opção -assume-filename=test.java faz com que o clang-format saiba como proceder.

Referências

comments powered by Disqus