Ganchos Git para armazenamento / recuperação de metadados
Uma das peculiaridades inevitáveis do git é sua incapacidade de armazenar e recuperar metadados sobre um arquivo. Por exemplo, no mac, os rótulos são armazenados com "atributos estendidos" (acessíveis emxattr
) e qualquer comando checkout / reset / merge / pull apagará esses atributos se o arquivo for afetado pelo checkout.
Eu olhei em volta para ver se alguém já havia escrito scripts para salvar metadados, mas me deparei.
Então, o que eu gostaria de fazer é usar o sistema de ganchos do Git para:
Leia os atributos estendidos quando os arquivos forem confirmados,Escreva os atributos em um arquivo armazenado no repositório que também seja confirmado,Aplique os atributos estendidos aos arquivos modificados em uma mesclagem / checkout / redefinição.Qual dos ganchos devo usar? Estãopost-receive
epre-commit
Tudo o que eu preciso? podepre-commit
também adicionar um arquivo ao commit (ou seja, depois de escrever os novos atributos)?