É uma boa ideia GPG assinar comissões antigas do git?


9

Acabei de perceber que esqueci de dizer ao git para usar minha chave GPG. Eu tinha feito uma série de confirmações sem assiná-las. Devo voltar e assiná-los?

Não estou me referindo se devo ou não assinar tags, mas decidi assinar eles mesmos. Não acredito que possa pensar em qualquer motivo para não fazê-lo, além de ter um histórico corrompido do git que pode ou não ser o que escrevi. Confio no GitHub para não mexer com meu histórico do git e sou o único autor de cerca de 99% dos meus projetos, portanto, devo fazê-lo?

Encontrei essa resposta , então sei que agora é possível, mas filosoficamente falando, devo?

Respostas:


12

Se as confirmações já tiverem sido publicadas, você não deve reescrevê-las para qualquer finalidade (exceto remover vazamentos acidentais de dados), pois isso alteraria seus IDs de confirmação. (Lembre-se de que o ID de cada confirmação é baseado nos hashes SHA-1 de seu conteúdo e na confirmação pai.)

Isso significa que seria necessário reescrever (e renunciar) todas as confirmações subsequentes e causaria problemas para quem já havia buscado alguma dessas confirmações.

Mas, pelo mesmo motivo, você não precisa assinar explicitamente esses antigos commit, pelo menos não para fins de integridade de dados. Como cada confirmação contém IDs baseados em SHA-1 de seus pais, a verificação de qualquer confirmação única também verificará implicitamente todo o seu histórico por meio da cadeia de hash. Não importa que a corrente seja um pouco mais longa ou mais curta.

Por outro lado, se você não confia no SHA-1 por segurança, considere a assinatura totalmente inútil, pois o conteúdo do arquivo de confirmação também é referido pelos hashes do SHA-1. A única coisa que você assina diretamente (e não um hash) é a mensagem de confirmação.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.