{"thread":{"id":"42289","subject":"[PATCH] Documentation: clarify signature verification v2","startedAt":"2016-05-12T06:50:22Z","lastAt":"2016-05-13T09:37:02Z","messageCount":6,"participants":["Fox in the shell","Pranit Bauva","Junio C Hamano","KellerFuchs"],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"286317","messageId":"20160512065022.GA32387@hashbang.sh","threadId":"42289","inReplyTo":null,"subject":"[PATCH] Documentation: clarify signature verification v2","fromName":"Fox in the shell","fromEmail":"kellerfuchs@hashbang.sh","sentAt":"2016-05-12T06:50:22Z","receivedAt":"2016-05-12T06:50:22Z","isPatch":true,"sender":{"key":"kellerfuchs@hashbang.sh","avatar":"https://avatars.githubusercontent.com/u/14331571?v=4"},"body":"Hi,\n\nHere is a second attempt at this patch.\nSorry for the delay, life somewhat got in the way.\n\n--\nClarify which commits need to be signed.\n\nUniformise the vocabulary used wrt. key/signature validity with OpenPGP:\n- a signature is valid if made by a key with a valid uid;\n- in the default trust-model, a uid is valid if signed by a trusted key;\n- a key is trusted if the (local) user set a trust level for it.\n\nThanks to Junio C Hamano <gitster@pobox.com> for reviewing\n  the first attempt at this patch.\n---\n Documentation/merge-options.txt  | 7 +++++--\n Documentation/pretty-formats.txt | 4 ++--\n 2 files changed, 7 insertions(+), 4 deletions(-)\n\ndiff --git a/Documentation/merge-options.txt b/Documentation/merge-options.txt\nindex f08e9b8..30808a0 100644\n--- a/Documentation/merge-options.txt\n+++ b/Documentation/merge-options.txt\n@@ -89,8 +89,11 @@ option can be used to override --squash.\n \n --verify-signatures::\n --no-verify-signatures::\n-\tVerify that the commits being merged have good and trusted GPG signatures\n-\tand abort the merge in case they do not.\n+\tVerify that the tip commit of the side branch being merged is\n+\tsigned with a valid key, i.e. a key that has a valid uid: in the\n+\tdefault trust model, this means the signing key has been signed by\n+\ta trusted key.  If the tip commit of the side branch is not signed\n+\twith a valid key, the merge is aborted.\n \n --summary::\n --no-summary::\ndiff --git a/Documentation/pretty-formats.txt b/Documentation/pretty-formats.txt\nindex 671cebd..29b19b9 100644\n--- a/Documentation/pretty-formats.txt\n+++ b/Documentation/pretty-formats.txt\n@@ -143,8 +143,8 @@ ifndef::git-rev-list[]\n - '%N': commit notes\n endif::git-rev-list[]\n - '%GG': raw verification message from GPG for a signed commit\n-- '%G?': show \"G\" for a Good signature, \"B\" for a Bad signature, \"U\" for a good,\n-  untrusted signature and \"N\" for no signature\n+- '%G?': show \"G\" for a good (valid) signature, \"B\" for a bad signature,\n+  \"U\" for a good signature with unknown validity and \"N\" for no signature\n - '%GS': show the name of the signer for a signed commit\n - '%GK': show the key used to sign a signed commit\n - '%gD': reflog selector, e.g., `refs/stash@{1}`\n-- \n2.1.4\n"},{"id":"286323","messageId":"CAFZEwPOJg=njvhtK7ZQf_-3DUVjMpFBEV_0m1NHAE1UL7eM5ng@mail.gmail.com","threadId":"42289","inReplyTo":"20160512065022.GA32387@hashbang.sh","subject":"Re: [PATCH] Documentation: clarify signature verification v2","fromName":"Pranit Bauva","fromEmail":"pranit.bauva@gmail.com","sentAt":"2016-05-12T08:04:36Z","receivedAt":"2016-05-12T08:04:36Z","isPatch":true,"sender":{"key":"pranit.bauva@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2959938?v=4"},"body":"On Thu, May 12, 2016 at 12:20 PM, Fox in the shell\n<KellerFuchs@hashbang.sh> wrote:\n>\n> Hi,\n>\n> Here is a second attempt at this patch.\n> Sorry for the delay, life somewhat got in the way.\n>\n\nIts okay! We understand that things might take a little more time than expected!\n\n> --\n> Clarify which commits need to be signed.\n>\n> Uniformise the vocabulary used wrt. key/signature validity with OpenPGP:\n> - a signature is valid if made by a key with a valid uid;\n> - in the default trust-model, a uid is valid if signed by a trusted key;\n> - a key is trusted if the (local) user set a trust level for it.\n>\n> Thanks to Junio C Hamano <gitster@pobox.com> for reviewing\n>   the first attempt at this patch.\n> ---\n\nIts good to provide links to the previous version[1] of the patch.\nPlease go through the Documentation/SubmittingPatches once.\nSeems like Junio was waiting for someone to point this out[2].\n\nA couple of notes of how to submit the patches:\n * You have cc'ied the reviewers. Good!\n\n * Include the version no (v2) inside the [PATCH] like [PATCH v2]\n\n * The next version should be as a reply to the previous one.\n    Hint: use --in-reply-to with git-send-email\n\n * git-am is used to pick up these patches and it gets the subject\n   of the email and strips of [PATCH ...] and then uses the other stuff\n   in the commit message headline.\n\n * The rest of the commit message are the words before ---.\n    So currently git-am will pick up your paragraph as commit message:\n\n          \"Hi,\n\n            Here is a second attempt at this patch.\n            Sorry for the delay, life somewhat got in the way.\"\n\n    which is quite undesirable as a commit message.\n\n * Comments are put after ---. So your paragraph\n      \"Clarify which commits need to be signed.\n\n        Uniformise the vocabulary used wrt. key/signature validity with OpenPGP\n         - a signature is valid if made by a key with a valid uid;\n         - in the default trust-model, a uid is valid if signed by a\ntrusted key;\n         - a key is trusted if the (local) user set a trust level for it.\n\n           Thanks to Junio C Hamano <gitster@pobox.com> for reviewing\n           the first attempt at this patch.\"\n\n    is actually treated as a comment.\n\n * Also your signoff is missing.\n\n * If you want to credit someone then its better to use syntax like:\n      \"Helped-by: Junio C Hamano <gitster@pobox.com>\"\n\n * It also seems like you probably wanted to add the\n   \"Reviewed-by:\" tag. Please note only the reviewers can\n   add that tag.\n\n>  Documentation/merge-options.txt  | 7 +++++--\n>  Documentation/pretty-formats.txt | 4 ++--\n>  2 files changed, 7 insertions(+), 4 deletions(-)\n>\n> diff --git a/Documentation/merge-options.txt b/Documentation/merge-options.txt\n> index f08e9b8..30808a0 100644\n> --- a/Documentation/merge-options.txt\n> +++ b/Documentation/merge-options.txt\n> @@ -89,8 +89,11 @@ option can be used to override --squash.\n>\n>  --verify-signatures::\n>  --no-verify-signatures::\n> -       Verify that the commits being merged have good and trusted GPG signatures\n> -       and abort the merge in case they do not.\n> +       Verify that the tip commit of the side branch being merged is\n> +       signed with a valid key, i.e. a key that has a valid uid: in the\n> +       default trust model, this means the signing key has been signed by\n> +       a trusted key.  If the tip commit of the side branch is not signed\n> +       with a valid key, the merge is aborted.\n>\n>  --summary::\n>  --no-summary::\n> diff --git a/Documentation/pretty-formats.txt b/Documentation/pretty-formats.txt\n> index 671cebd..29b19b9 100644\n> --- a/Documentation/pretty-formats.txt\n> +++ b/Documentation/pretty-formats.txt\n> @@ -143,8 +143,8 @@ ifndef::git-rev-list[]\n>  - '%N': commit notes\n>  endif::git-rev-list[]\n>  - '%GG': raw verification message from GPG for a signed commit\n> -- '%G?': show \"G\" for a Good signature, \"B\" for a Bad signature, \"U\" for a good,\n> -  untrusted signature and \"N\" for no signature\n> +- '%G?': show \"G\" for a good (valid) signature, \"B\" for a bad signature,\n> +  \"U\" for a good signature with unknown validity and \"N\" for no signature\n>  - '%GS': show the name of the signer for a signed commit\n>  - '%GK': show the key used to sign a signed commit\n>  - '%gD': reflog selector, e.g., `refs/stash@{1}`\n> --\n> 2.1.4\n\n[1]: http://thread.gmane.org/gmane.comp.version-control.git/291123\n[2]: http://article.gmane.org/gmane.comp.version-control.git/291185\n"},{"id":"286324","messageId":"CAFZEwPM27g-FZBa6ggJKmYvjAfp=YWnC90j73dpgpkjJC=F3Nw@mail.gmail.com","threadId":"42289","inReplyTo":"CAFZEwPOJg=njvhtK7ZQf_-3DUVjMpFBEV_0m1NHAE1UL7eM5ng@mail.gmail.com","subject":"Re: [PATCH] Documentation: clarify signature verification v2","fromName":"Pranit Bauva","fromEmail":"pranit.bauva@gmail.com","sentAt":"2016-05-12T08:08:17Z","receivedAt":"2016-05-12T08:08:17Z","isPatch":true,"sender":{"key":"pranit.bauva@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2959938?v=4"},"body":"On Thu, May 12, 2016 at 1:34 PM, Pranit Bauva <pranit.bauva@gmail.com> wrote:\n> On Thu, May 12, 2016 at 12:20 PM, Fox in the shell\n> <KellerFuchs@hashbang.sh> wrote:\n>>\n>> Hi,\n>>\n>> Here is a second attempt at this patch.\n>> Sorry for the delay, life somewhat got in the way.\n>>\n>\n> Its okay! We understand that things might take a little more time than expected!\n>\n>> --\n>> Clarify which commits need to be signed.\n>>\n>> Uniformise the vocabulary used wrt. key/signature validity with OpenPGP:\n>> - a signature is valid if made by a key with a valid uid;\n>> - in the default trust-model, a uid is valid if signed by a trusted key;\n>> - a key is trusted if the (local) user set a trust level for it.\n>>\n>> Thanks to Junio C Hamano <gitster@pobox.com> for reviewing\n>>   the first attempt at this patch.\n>> ---\n>\n> Its good to provide links to the previous version[1] of the patch.\n> Please go through the Documentation/SubmittingPatches once.\n> Seems like Junio was waiting for someone to point this out[2].\n>\n> A couple of notes of how to submit the patches:\n>  * You have cc'ied the reviewers. Good!\n>\n>  * Include the version no (v2) inside the [PATCH] like [PATCH v2]\n>\n>  * The next version should be as a reply to the previous one.\n>     Hint: use --in-reply-to with git-send-email\n>\n>  * git-am is used to pick up these patches and it gets the subject\n>    of the email and strips of [PATCH ...] and then uses the other stuff\n>    in the commit message headline.\n>\n>  * The rest of the commit message are the words before ---.\n>     So currently git-am will pick up your paragraph as commit message:\n>\n>           \"Hi,\n>\n>             Here is a second attempt at this patch.\n>             Sorry for the delay, life somewhat got in the way.\"\n>\n>     which is quite undesirable as a commit message.\n>\n>  * Comments are put after ---. So your paragraph\n>       \"Clarify which commits need to be signed.\n>\n>         Uniformise the vocabulary used wrt. key/signature validity with OpenPGP\n>          - a signature is valid if made by a key with a valid uid;\n>          - in the default trust-model, a uid is valid if signed by a\n> trusted key;\n>          - a key is trusted if the (local) user set a trust level for it.\n>\n>            Thanks to Junio C Hamano <gitster@pobox.com> for reviewing\n>            the first attempt at this patch.\"\n>\n>     is actually treated as a comment.\n>\n>  * Also your signoff is missing.\n>\n>  * If you want to credit someone then its better to use syntax like:\n>       \"Helped-by: Junio C Hamano <gitster@pobox.com>\"\n>\n>  * It also seems like you probably wanted to add the\n>    \"Reviewed-by:\" tag. Please note only the reviewers can\n>    add that tag.\n>\n>>  Documentation/merge-options.txt  | 7 +++++--\n>>  Documentation/pretty-formats.txt | 4 ++--\n>>  2 files changed, 7 insertions(+), 4 deletions(-)\n>>\n>> diff --git a/Documentation/merge-options.txt b/Documentation/merge-options.txt\n>> index f08e9b8..30808a0 100644\n>> --- a/Documentation/merge-options.txt\n>> +++ b/Documentation/merge-options.txt\n>> @@ -89,8 +89,11 @@ option can be used to override --squash.\n>>\n>>  --verify-signatures::\n>>  --no-verify-signatures::\n>> -       Verify that the commits being merged have good and trusted GPG signatures\n>> -       and abort the merge in case they do not.\n>> +       Verify that the tip commit of the side branch being merged is\n>> +       signed with a valid key, i.e. a key that has a valid uid: in the\n>> +       default trust model, this means the signing key has been signed by\n>> +       a trusted key.  If the tip commit of the side branch is not signed\n>> +       with a valid key, the merge is aborted.\n>>\n>>  --summary::\n>>  --no-summary::\n>> diff --git a/Documentation/pretty-formats.txt b/Documentation/pretty-formats.txt\n>> index 671cebd..29b19b9 100644\n>> --- a/Documentation/pretty-formats.txt\n>> +++ b/Documentation/pretty-formats.txt\n>> @@ -143,8 +143,8 @@ ifndef::git-rev-list[]\n>>  - '%N': commit notes\n>>  endif::git-rev-list[]\n>>  - '%GG': raw verification message from GPG for a signed commit\n>> -- '%G?': show \"G\" for a Good signature, \"B\" for a Bad signature, \"U\" for a good,\n>> -  untrusted signature and \"N\" for no signature\n>> +- '%G?': show \"G\" for a good (valid) signature, \"B\" for a bad signature,\n>> +  \"U\" for a good signature with unknown validity and \"N\" for no signature\n>>  - '%GS': show the name of the signer for a signed commit\n>>  - '%GK': show the key used to sign a signed commit\n>>  - '%gD': reflog selector, e.g., `refs/stash@{1}`\n>> --\n>> 2.1.4\n>\n> [1]: http://thread.gmane.org/gmane.comp.version-control.git/291123\n> [2]: http://article.gmane.org/gmane.comp.version-control.git/291185\n\nForgot to mention. It would be preferable to use your real name in the signoff.\n"},{"id":"286340","messageId":"xmqq4ma3grj0.fsf@gitster.mtv.corp.google.com","threadId":"42289","inReplyTo":"CAFZEwPOJg=njvhtK7ZQf_-3DUVjMpFBEV_0m1NHAE1UL7eM5ng@mail.gmail.com","subject":"Re: [PATCH] Documentation: clarify signature verification v2","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2016-05-12T16:38:59Z","receivedAt":"2016-05-12T16:38:59Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Pranit Bauva <pranit.bauva@gmail.com> writes:\n\n> Seems like Junio was waiting for someone to point this out[2].\n\nThanks. I think you covered most of them correctly; I only have one\nthing to add.\n\n>  * Comments are put after ---. So your paragraph\n>       \"Clarify which commits need to be signed.\n>\n>         Uniformise the vocabulary used wrt. key/signature validity with OpenPGP\n>          - a signature is valid if made by a key with a valid uid;\n>          - in the default trust-model, a uid is valid if signed by a\n> trusted key;\n>          - a key is trusted if the (local) user set a trust level for it.\n>\n>            Thanks to Junio C Hamano <gitster@pobox.com> for reviewing\n>            the first attempt at this patch.\"\n>\n>     is actually treated as a comment.\n\nThis is half-true, I think. The message you are responding to had\nonly two dashes, not three.\n\nThe usual way to do what the original wanted to do is like this:\n\n\t... e-mail headers like From:, Subject:, ...\n\n\tHi,\n\n        Here is a second attempt.\n\n        -- >8 --\n        Subject: Documentation: clarify --verify signature\n\n\tClarify that only the signature of the commit at the tip of\n\tthe branch being merged is checked.  Also align the\n\tvocabulary to describe key & signature validity with those\n\tused by OpenPGP, namely:\n\n         - a signature is valid if ...\n         ...\n         - a key is trusted if ...\n\n\tSigned-off-by: A U Thor <au@thor.xz>\n        ---\n         Documentation/merge-options.txt | ... diffstat comes here\n        \nNotice the \"-- >8 --\" (cut here) line.  \"am\" will notice it, discard\nwhat it has read so far and restart from there.\n"},{"id":"286343","messageId":"CAFZEwPOgQcyuVjrWsxgz+vTe+0qEbBPo3YSdKpGc0Zb6YB7tAw@mail.gmail.com","threadId":"42289","inReplyTo":"xmqq4ma3grj0.fsf@gitster.mtv.corp.google.com","subject":"Re: [PATCH] Documentation: clarify signature verification v2","fromName":"Pranit Bauva","fromEmail":"pranit.bauva@gmail.com","sentAt":"2016-05-12T17:32:59Z","receivedAt":"2016-05-12T17:32:59Z","isPatch":true,"sender":{"key":"pranit.bauva@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2959938?v=4"},"body":"On Thu, May 12, 2016 at 10:08 PM, Junio C Hamano <gitster@pobox.com> wrote:\n> Pranit Bauva <pranit.bauva@gmail.com> writes:\n>\n>> Seems like Junio was waiting for someone to point this out[2].\n>\n> Thanks. I think you covered most of them correctly; I only have one\n> thing to add.\n>\n>>  * Comments are put after ---. So your paragraph\n>>       \"Clarify which commits need to be signed.\n>>\n>>         Uniformise the vocabulary used wrt. key/signature validity with OpenPGP\n>>          - a signature is valid if made by a key with a valid uid;\n>>          - in the default trust-model, a uid is valid if signed by a\n>> trusted key;\n>>          - a key is trusted if the (local) user set a trust level for it.\n>>\n>>            Thanks to Junio C Hamano <gitster@pobox.com> for reviewing\n>>            the first attempt at this patch.\"\n>>\n>>     is actually treated as a comment.\n>\n> This is half-true, I think. The message you are responding to had\n> only two dashes, not three.\n\nMy bad. Didn't carefully notice it.\n\n>\n> The usual way to do what the original wanted to do is like this:\n>\n>         ... e-mail headers like From:, Subject:, ...\n>\n>         Hi,\n>\n>         Here is a second attempt.\n>\n>         -- >8 --\n>         Subject: Documentation: clarify --verify signature\n>\n>         Clarify that only the signature of the commit at the tip of\n>         the branch being merged is checked.  Also align the\n>         vocabulary to describe key & signature validity with those\n>         used by OpenPGP, namely:\n>\n>          - a signature is valid if ...\n>          ...\n>          - a key is trusted if ...\n>\n>         Signed-off-by: A U Thor <au@thor.xz>\n>         ---\n>          Documentation/merge-options.txt | ... diffstat comes here\n>\n> Notice the \"-- >8 --\" (cut here) line.  \"am\" will notice it, discard\n> what it has read so far and restart from there.\n\nNot having used this personally, I forgot to mention this. Thanks for\nmentioning it!\nLooks like you have written the commit message for him. :)\n"},{"id":"286439","messageId":"20160513093702.GA23963@hashbang.sh","threadId":"42289","inReplyTo":"xmqq4ma3grj0.fsf@gitster.mtv.corp.google.com","subject":"Re: [PATCH] Documentation: clarify signature verification v2","fromName":"KellerFuchs","fromEmail":"kellerfuchs@hashbang.sh","sentAt":"2016-05-13T09:37:02Z","receivedAt":"2016-05-13T09:37:02Z","isPatch":true,"sender":{"key":"kellerfuchs@hashbang.sh","avatar":"https://avatars.githubusercontent.com/u/14331571?v=4"},"body":"Thanks a lot for the feedback.\n\nI read Documentation/SubmittingPatches before sending the original patch,\n  but it seems not everything had sunk in.\n  (And I definitely should have read it again before sending v2...)\n\n\nI will resubmit the patch, then.\n\nOn Thu, May 12, 2016 at 09:38:59AM -0700, Junio C Hamano wrote:\n> Pranit Bauva <pranit.bauva@gmail.com> writes:\n> \n> > Seems like Junio was waiting for someone to point this out[2].\n> \n> Thanks. I think you covered most of them correctly; I only have one\n> thing to add.\n> \n> >  * Comments are put after ---. So your paragraph\n> >       \"Clarify which commits need to be signed.\n> >\n> >         Uniformise the vocabulary used wrt. key/signature validity with OpenPGP\n> >          - a signature is valid if made by a key with a valid uid;\n> >          - in the default trust-model, a uid is valid if signed by a\n> > trusted key;\n> >          - a key is trusted if the (local) user set a trust level for it.\n> >\n> >            Thanks to Junio C Hamano <gitster@pobox.com> for reviewing\n> >            the first attempt at this patch.\"\n> >\n> >     is actually treated as a comment.\n> \n> This is half-true, I think. The message you are responding to had\n> only two dashes, not three.\n> \n> The usual way to do what the original wanted to do is like this:\n> \n> \t... e-mail headers like From:, Subject:, ...\n> \n> \tHi,\n> \n>         Here is a second attempt.\n> \n>         -- >8 --\n>         Subject: Documentation: clarify --verify signature\n> \n> \tClarify that only the signature of the commit at the tip of\n> \tthe branch being merged is checked.  Also align the\n> \tvocabulary to describe key & signature validity with those\n> \tused by OpenPGP, namely:\n> \n>          - a signature is valid if ...\n>          ...\n>          - a key is trusted if ...\n> \n> \tSigned-off-by: A U Thor <au@thor.xz>\n>         ---\n>          Documentation/merge-options.txt | ... diffstat comes here\n>         \n> Notice the \"-- >8 --\" (cut here) line.  \"am\" will notice it, discard\n> what it has read so far and restart from there.\n> \n"}]}