Conversation

Replying to and
Git's signed commit / tag support is problematic even without PGP because it uses signatures hard-wired into the objects. It has no way to add additional signatures after the fact which is a huge problem. Even if you're using PGP, it's better to use Git notes than their system.
1
5
It should be possible to rotate keys and provide new signatures replacing the old ones made with the key that's being retired. Git notes mean you can just not fetch all the legacy signatures, etc. It's pretty gross having PGP bloat hard-wired into each commit / tag object...
1
1
I think it would be a lot better to just come up with a good standard and tooling for using Git notes to attach signatures to objects. Much better to sign a generated archive when possible for reduced attack surface vs. verifying huge trees of SHA-1 commit/tree/blob hashes.
1
2
Git doesn't even verify the object graph integrity or that objects are well formed by default. You need to use the git fsck tool. Can enable it: git config --global transfer.fsckObjects true fetch.fsckObjects and receive.fsckObjects default to the value of transfer.fsckObjects.
1
2