@@ -998,7 +998,7 @@ <h3 id="_commit"><code>commit</code></h3>
998998 original-oid?
999999 ('author' (SP <name>)? SP LT <email> GT SP <when> LF)?
10001000 'committer' (SP <name>)? SP LT <email> GT SP <when> LF
1001- ('gpgsig' SP <alg > LF data)?
1001+ ('gpgsig' SP <algo> SP <format > LF data)?
10021002 ('encoding' SP <encoding> LF)?
10031003 data
10041004 ('from' SP <commit-ish> LF)?
@@ -1082,11 +1082,47 @@ <h4 id="_committer"><code>committer</code></h4>
10821082< h4 id ="_gpgsig "> < code > gpgsig</ code > </ h4 >
10831083< div class ="paragraph ">
10841084< p > The optional < code > gpgsig</ code > command is used to include a PGP/GPG signature
1085- that signs the commit data.</ p >
1085+ or other cryptographic signature that signs the commit data.</ p >
1086+ </ div >
1087+ < div class ="literalblock ">
1088+ < div class ="content ">
1089+ < pre > 'gpgsig' SP <git-hash-algo> SP <signature-format> LF data</ pre >
1090+ </ div >
1091+ </ div >
1092+ < div class ="paragraph ">
1093+ < p > The < code > gpgsig</ code > command takes two arguments:</ p >
1094+ </ div >
1095+ < div class ="ulist ">
1096+ < ul >
1097+ < li >
1098+ < p > < em > <git-hash-algo></ em > specifies which Git object format this signature
1099+ applies to, either < code > sha1</ code > or < code > sha256</ code > . This allows to know which
1100+ representation of the commit was signed (the SHA-1 or the SHA-256
1101+ version) which helps with both signature verification and
1102+ interoperability between repos with different hash functions.</ p >
1103+ </ li >
1104+ < li >
1105+ < p > < em > <signature-format></ em > specifies the type of signature, such as
1106+ < code > openpgp</ code > , < code > x509</ code > , < code > ssh</ code > , or < code > unknown</ code > . This is a convenience for
1107+ tools that process the stream, so they don’t have to parse the ASCII
1108+ armor to identify the signature type.</ p >
1109+ </ li >
1110+ </ ul >
1111+ </ div >
1112+ < div class ="paragraph ">
1113+ < p > A commit may have at most one signature for the SHA-1 object format
1114+ (stored in the "gpgsig" header) and one for the SHA-256 object format
1115+ (stored in the "gpgsig-sha256" header).</ p >
1116+ </ div >
1117+ < div class ="paragraph ">
1118+ < p > See below for a detailed description of the < code > data</ code > command which
1119+ contains the raw signature data.</ p >
10861120</ div >
10871121< div class ="paragraph ">
1088- < p > Here <alg> specifies which hashing algorithm is used for this
1089- signature, either < code > sha1</ code > or < code > sha256</ code > .</ p >
1122+ < p > Signatures are not yet checked in the current implementation
1123+ though. (Already setting the < code > extensions.compatObjectFormat</ code >
1124+ configuration option might help with verifying both SHA-1 and SHA-256
1125+ object format signatures when it will be implemented.)</ p >
10901126</ div >
10911127< div class ="admonitionblock note ">
10921128< table >
@@ -1095,8 +1131,8 @@ <h4 id="_gpgsig"><code>gpgsig</code></h4>
10951131< div class ="title "> Note</ div >
10961132</ td >
10971133< td class ="content ">
1098- This is highly experimental and the format of the data stream may
1099- change in the future without compatibility guarantees.
1134+ This is highly experimental and the format of the < code > gpgsig </ code >
1135+ command may change in the future without compatibility guarantees.
11001136</ td >
11011137</ tr >
11021138</ table >
@@ -2572,7 +2608,7 @@ <h2 id="_git">GIT</h2>
25722608</ div >
25732609< div id ="footer ">
25742610< div id ="footer-text ">
2575- Last updated 2025-06-02 12:42:06 -0700
2611+ Last updated 2025-07-24 21:55:32 -0700
25762612</ div >
25772613</ div >
25782614</ body >
0 commit comments