dropping gpgsig on merge commit changes commit id

Author: nlewyckyCreated Aug 13, 2020Updated Jun 18, 2026

Running git filter-repo --force on an otherwise clean repo that's hosted in github changes the hashes of merge commits. On inspection this is because it drops the gpgsig field that github sets when the merge was done through their UI:

Before:

$ git cat-file commit 3107dc10b1b52fa790b39b0a2ea96ea84247137b
tree b034c089d83226ea9eb334d8003b321ed312d32d
parent 6c9087a73d5cc0329ad350559045afb9eeca1fd1
parent 10eff5f3c3c8cdab7ca037c2d6ff396b4e739c13
author Syrus Akbary <[email protected]> 1540289967 +0200
committer GitHub <[email protected]> 1540289967 +0200
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJbzvWvCRBK7hj4Ov3rIwAAdHIIAHbTFc+YcdgGK+ZfSOfzeAqU
 dVNMCxatKJxOShzTRcjthGXG6ySxPgQcczqLf644HxlpNFM6H5h0AZJ2TLVbq+rn
 7dZ6lTEfwTBAGUB5IXgxIMzstQ4i77LG0azOahppdnGu440eOoXTbxJmF6mxx6n+
 L90b4PjpuDJQCH4qc77JETP43UO2WLnfin9tb2zvwlVo6TyP/3o2tBjvodYmryUx
 2zK6mA3KWoN2MTacmo03czv1EqyGKKoPFdN+qA6ul2mudoejOy43ntijdsTaSJGC
 9HwTD+mGLgOeUJhn1JR7wFn1qzg5ARVzjVqRw/NUpKTyY6tli0hV3vqd0PIAyrQ=
 =VnjK
 -----END PGP SIGNATURE-----
 

Merge pull request #2 from WAFoundation/feature/table-working

call_indirect passes

After:

$ git cat-file commit 0d26b231746edbeb5ad0e8b128455f1ec5d7571d
tree b034c089d83226ea9eb334d8003b321ed312d32d
parent 6c9087a73d5cc0329ad350559045afb9eeca1fd1
parent 10eff5f3c3c8cdab7ca037c2d6ff396b4e739c13
author Syrus Akbary <[email protected]> 1540289967 +0200
committer GitHub <[email protected]> 1540289967 +0200

Merge pull request #2 from WAFoundation/feature/table-working

call_indirect passes

Because the contents didn't change at all, that gpgsig should still be valid.

This also means that if you use filter-repo then you will lose the green [Verified] for these commits in the github UI, which while not a blocker is unfortunate.