It also converts \r\n to \n and remove all spaces in a blank line. This is reasonable for a readable commit message, but makes it impossible to verify signature in my program... > On Mar 28, 2022, at 1:53 PM, Junio C Hamano <gitster@xxxxxxxxx> wrote: > > PMEase <robin@xxxxxxxxxx> writes: > > [jc: wrapped overly long lines] > >> I am using command "git show --format=raw <commit hash>" to get >> raw commit object in order to verify the GPG signature in my >> program to customize public key loading. However in the raw commit >> object, extra line breaks before and after the commit message is >> removed, which cause the signature verification failure as git >> generates the signature without removing those line breaks. > > "git show --format=raw <commit object name>" will not give "raw > commit object" to begin with. It indents the message by four > spaces. > > "git cat-file commit <commit object name>" is what you want, I > think.