{"thread":{"id":"61250","subject":"[PATCH] docs: recommend using contrib/contacts/git-contacts","startedAt":"2024-04-02T00:20:09Z","lastAt":"2024-04-18T21:57:05Z","messageCount":88,"participants":["Linus Arver via GitGitGadget","Patrick Steinhardt","Matthias Aßhauer","Matthieu Moy","Junio C Hamano","Linus Arver","Eric Sunshine","Kipras Melnikovas"],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"492010","messageId":"pull.1704.git.1712017205754.gitgitgadget@gmail.com","threadId":"61250","inReplyTo":null,"subject":"[PATCH] docs: recommend using contrib/contacts/git-contacts","fromName":"Linus Arver via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2024-04-02T00:20:05Z","receivedAt":"2024-04-02T00:20:09Z","isPatch":true,"sender":{"key":"linus@ucla.edu","avatar":null},"body":"From: Linus Arver <linusa@google.com>\n\nAlthough we've had this script since 4d06402b1b (contrib: add\ngit-contacts helper, 2013-07-21), we don't mention it in our\nintroductory docs. Do so now.\n\nSigned-off-by: Linus Arver <linusa@google.com>\n---\n    docs: recommend using contrib/contacts/git-contacts\n\nPublished-As: https://github.com/gitgitgadget/git/releases/tag/pr-1704%2Flistx%2Freviewers-v1\nFetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-1704/listx/reviewers-v1\nPull-Request: https://github.com/gitgitgadget/git/pull/1704\n\n Documentation/MyFirstContribution.txt | 3 +++\n Documentation/SubmittingPatches       | 4 ++++\n 2 files changed, 7 insertions(+)\n\ndiff --git a/Documentation/MyFirstContribution.txt b/Documentation/MyFirstContribution.txt\nindex f06563e9817..eb1e27a82df 100644\n--- a/Documentation/MyFirstContribution.txt\n+++ b/Documentation/MyFirstContribution.txt\n@@ -1116,6 +1116,9 @@ $ git send-email --to=target@example.com psuh/*.patch\n NOTE: Check `git help send-email` for some other options which you may find\n valuable, such as changing the Reply-to address or adding more CC and BCC lines.\n \n+NOTE: Use `contrib/contacts/git-contacts` to get a list of reviewers you should\n+include in the CC list.\n+\n NOTE: When you are sending a real patch, it will go to git@vger.kernel.org - but\n please don't send your patchset from the tutorial to the real mailing list! For\n now, you can send it to yourself, to make sure you understand how it will look.\ndiff --git a/Documentation/SubmittingPatches b/Documentation/SubmittingPatches\nindex e734a3f0f17..52d11ff510b 100644\n--- a/Documentation/SubmittingPatches\n+++ b/Documentation/SubmittingPatches\n@@ -459,6 +459,10 @@ an explanation of changes between each iteration can be kept in\n Git-notes and inserted automatically following the three-dash\n line via `git format-patch --notes`.\n \n+[[suggested-reviewers]]\n+Use `contrib/contacts/git-contacts` to get a list of reviewers you should\n+include in the CC list.\n+\n [[attachment]]\n Do not attach the patch as a MIME attachment, compressed or not.\n Do not let your e-mail client send quoted-printable.  Do not let\n\nbase-commit: c2cbfbd2e28cbe27c194d62183b42f27a6a5bb87\n-- \ngitgitgadget\n"},{"id":"492019","messageId":"Zgulh1rxl9Af-iQK@tanuki","threadId":"61250","inReplyTo":"pull.1704.git.1712017205754.gitgitgadget@gmail.com","subject":"Re: [PATCH] docs: recommend using contrib/contacts/git-contacts","fromName":"Patrick Steinhardt","fromEmail":"ps@pks.im","sentAt":"2024-04-02T06:28:23Z","receivedAt":"2024-04-02T06:28:30Z","isPatch":true,"sender":{"key":"ps@pks.im","avatar":"https://avatars.githubusercontent.com/u/4056630?v=4"},"body":"On Tue, Apr 02, 2024 at 12:20:05AM +0000, Linus Arver via GitGitGadget wrote:\n> From: Linus Arver <linusa@google.com>\n> \n> Although we've had this script since 4d06402b1b (contrib: add\n> git-contacts helper, 2013-07-21), we don't mention it in our\n> introductory docs. Do so now.\n> \n> Signed-off-by: Linus Arver <linusa@google.com>\n> ---\n>     docs: recommend using contrib/contacts/git-contacts\n> \n> Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-1704%2Flistx%2Freviewers-v1\n> Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-1704/listx/reviewers-v1\n> Pull-Request: https://github.com/gitgitgadget/git/pull/1704\n> \n>  Documentation/MyFirstContribution.txt | 3 +++\n>  Documentation/SubmittingPatches       | 4 ++++\n>  2 files changed, 7 insertions(+)\n> \n> diff --git a/Documentation/MyFirstContribution.txt b/Documentation/MyFirstContribution.txt\n> index f06563e9817..eb1e27a82df 100644\n> --- a/Documentation/MyFirstContribution.txt\n> +++ b/Documentation/MyFirstContribution.txt\n> @@ -1116,6 +1116,9 @@ $ git send-email --to=target@example.com psuh/*.patch\n>  NOTE: Check `git help send-email` for some other options which you may find\n>  valuable, such as changing the Reply-to address or adding more CC and BCC lines.\n>  \n> +NOTE: Use `contrib/contacts/git-contacts` to get a list of reviewers you should\n> +include in the CC list.\n> +\n\nShould we mention that the script can be passed to git-send-email(1) via\n`--cc-cmd=`?\n\nThanks!\n\nPatrick\n\n>  NOTE: When you are sending a real patch, it will go to git@vger.kernel.org - but\n>  please don't send your patchset from the tutorial to the real mailing list! For\n>  now, you can send it to yourself, to make sure you understand how it will look.\n> diff --git a/Documentation/SubmittingPatches b/Documentation/SubmittingPatches\n> index e734a3f0f17..52d11ff510b 100644\n> --- a/Documentation/SubmittingPatches\n> +++ b/Documentation/SubmittingPatches\n> @@ -459,6 +459,10 @@ an explanation of changes between each iteration can be kept in\n>  Git-notes and inserted automatically following the three-dash\n>  line via `git format-patch --notes`.\n>  \n> +[[suggested-reviewers]]\n> +Use `contrib/contacts/git-contacts` to get a list of reviewers you should\n> +include in the CC list.\n> +\n>  [[attachment]]\n>  Do not attach the patch as a MIME attachment, compressed or not.\n>  Do not let your e-mail client send quoted-printable.  Do not let\n> \n> base-commit: c2cbfbd2e28cbe27c194d62183b42f27a6a5bb87\n> -- \n> gitgitgadget\n> \n"},{"id":"492144","messageId":"DB9P250MB0692A99BBDC70A0E65B18A1FA53D2@DB9P250MB0692.EURP250.PROD.OUTLOOK.COM","threadId":"61250","inReplyTo":"pull.1704.git.1712017205754.gitgitgadget@gmail.com","subject":"Re: [PATCH] docs: recommend using contrib/contacts/git-contacts","fromName":"Matthias Aßhauer","fromEmail":"mha1993@live.de","sentAt":"2024-04-03T08:42:58Z","receivedAt":"2024-04-03T08:43:05Z","isPatch":true,"sender":{"key":"mha1993@live.de","avatar":"https://avatars.githubusercontent.com/u/6178234?v=4"},"body":"\n\nOn Tue, 2 Apr 2024, Linus Arver via GitGitGadget wrote:\n\n> From: Linus Arver <linusa@google.com>\n>\n> Although we've had this script since 4d06402b1b (contrib: add\n> git-contacts helper, 2013-07-21), we don't mention it in our\n> introductory docs. Do so now.\n>\n> Signed-off-by: Linus Arver <linusa@google.com>\n> ---\n>    docs: recommend using contrib/contacts/git-contacts\n>\n> Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-1704%2Flistx%2Freviewers-v1\n> Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-1704/listx/reviewers-v1\n> Pull-Request: https://github.com/gitgitgadget/git/pull/1704\n>\n> Documentation/MyFirstContribution.txt | 3 +++\n> Documentation/SubmittingPatches       | 4 ++++\n> 2 files changed, 7 insertions(+)\n>\n> diff --git a/Documentation/MyFirstContribution.txt b/Documentation/MyFirstContribution.txt\n> index f06563e9817..eb1e27a82df 100644\n> --- a/Documentation/MyFirstContribution.txt\n> +++ b/Documentation/MyFirstContribution.txt\n> @@ -1116,6 +1116,9 @@ $ git send-email --to=target@example.com psuh/*.patch\n> NOTE: Check `git help send-email` for some other options which you may find\n> valuable, such as changing the Reply-to address or adding more CC and BCC lines.\n>\n> +NOTE: Use `contrib/contacts/git-contacts` to get a list of reviewers you should\n> +include in the CC list.\n> +\n> NOTE: When you are sending a real patch, it will go to git@vger.kernel.org - but\n> please don't send your patchset from the tutorial to the real mailing list! For\n> now, you can send it to yourself, to make sure you understand how it will look.\n> diff --git a/Documentation/SubmittingPatches b/Documentation/SubmittingPatches\n> index e734a3f0f17..52d11ff510b 100644\n> --- a/Documentation/SubmittingPatches\n> +++ b/Documentation/SubmittingPatches\n> @@ -459,6 +459,10 @@ an explanation of changes between each iteration can be kept in\n> Git-notes and inserted automatically following the three-dash\n> line via `git format-patch --notes`.\n>\n> +[[suggested-reviewers]]\n> +Use `contrib/contacts/git-contacts` to get a list of reviewers you should\n> +include in the CC list.\n> +\n\nThere is already a paragraph about this in Documentation/SubmittingPatches \njust a few paragraphs below.\n\n> Send your patch with \"To:\" set to the mailing list, with \"cc:\" listing\n> people who are involved in the area you are touching (the `git\n> contacts` command in `contrib/contacts/` can help to\n> identify them), to solicit comments and reviews.  Also, when you made\n> trial merges of your topic to `next` and `seen`, you may have noticed\n> work by others conflicting with your changes.  There is a good possibility\n> that these people may know the area you are touching well.\n\nCould we improve the existing paragraph instead of duplicating this \ninformation?\n\n> [[attachment]]\n> Do not attach the patch as a MIME attachment, compressed or not.\n> Do not let your e-mail client send quoted-printable.  Do not let\n>\n> base-commit: c2cbfbd2e28cbe27c194d62183b42f27a6a5bb87\n> -- \n> gitgitgadget\n>\n"},{"id":"492148","messageId":"DB9P250MB06923CE0F60A117A5CA5B028A53D2@DB9P250MB0692.EURP250.PROD.OUTLOOK.COM","threadId":"61250","inReplyTo":"35192e61-c442-6719-caf0-1019bf3e44c9@live.de","subject":"[RFC] git-contacts: exclude list (was: Re: [PATCH] docs: recommend using contrib/contacts/git-contacts)","fromName":"Matthias Aßhauer","fromEmail":"mha1993@live.de","sentAt":"2024-04-03T10:11:47Z","receivedAt":"2024-04-03T10:11:51Z","isPatch":true,"sender":{"key":"mha1993@live.de","avatar":"https://avatars.githubusercontent.com/u/6178234?v=4"},"body":"\n\nOn Wed, 3 Apr 2024, Matthias Aßhauer wrote:\n\n>\n\nAfter sending my previous message I've noticed that all of the \netu.univ-lyon1.fr recipients bounced with the \nmessage\n\n> 550 5.5.0 Requested actions not taken as the mailbox is unavailable\n\nAfter running https://etu.univ-lyon1.fr/ through a machine translation \nservice it seems like that subdomain is used for mailboxes of current \nstudents, whereas staff like Matthieu get a mailbox on the main domain.\nWith Corentin, Nathan and Pablo presumably being former students, it's \nprobably unlikely that these mailboxes will become active again.\n\nWould it make sense to have a way to teach `git-contacts` to exclude a \nuser defined list of known-bad recipient adresses? This could potentiallly \nbe an extension of mailmap or a separate file.\n\n>\n> On Tue, 2 Apr 2024, Linus Arver via GitGitGadget wrote:\n>\n>> From: Linus Arver <linusa@google.com>\n>> \n>> Although we've had this script since 4d06402b1b (contrib: add\n>> git-contacts helper, 2013-07-21), we don't mention it in our\n>> introductory docs. Do so now.\n>> \n>> Signed-off-by: Linus Arver <linusa@google.com>\n>> ---\n>>    docs: recommend using contrib/contacts/git-contacts\n>> \n>> Published-As: \n>> https://github.com/gitgitgadget/git/releases/tag/pr-1704%2Flistx%2Freviewers-v1\n>> Fetch-It-Via: git fetch https://github.com/gitgitgadget/git \n>> pr-1704/listx/reviewers-v1\n>> Pull-Request: https://github.com/gitgitgadget/git/pull/1704\n>> \n>> Documentation/MyFirstContribution.txt | 3 +++\n>> Documentation/SubmittingPatches       | 4 ++++\n>> 2 files changed, 7 insertions(+)\n>> \n>> diff --git a/Documentation/MyFirstContribution.txt \n>> b/Documentation/MyFirstContribution.txt\n>> index f06563e9817..eb1e27a82df 100644\n>> --- a/Documentation/MyFirstContribution.txt\n>> +++ b/Documentation/MyFirstContribution.txt\n>> @@ -1116,6 +1116,9 @@ $ git send-email --to=target@example.com psuh/*.patch\n>> NOTE: Check `git help send-email` for some other options which you may find\n>> valuable, such as changing the Reply-to address or adding more CC and BCC \n>> lines.\n>> \n>> +NOTE: Use `contrib/contacts/git-contacts` to get a list of reviewers you \n>> should\n>> +include in the CC list.\n>> +\n>> NOTE: When you are sending a real patch, it will go to git@vger.kernel.org \n>> - but\n>> please don't send your patchset from the tutorial to the real mailing list! \n>> For\n>> now, you can send it to yourself, to make sure you understand how it will \n>> look.\n>> diff --git a/Documentation/SubmittingPatches \n>> b/Documentation/SubmittingPatches\n>> index e734a3f0f17..52d11ff510b 100644\n>> --- a/Documentation/SubmittingPatches\n>> +++ b/Documentation/SubmittingPatches\n>> @@ -459,6 +459,10 @@ an explanation of changes between each iteration can \n>> be kept in\n>> Git-notes and inserted automatically following the three-dash\n>> line via `git format-patch --notes`.\n>> \n>> +[[suggested-reviewers]]\n>> +Use `contrib/contacts/git-contacts` to get a list of reviewers you should\n>> +include in the CC list.\n>> +\n>\n> There is already a paragraph about this in Documentation/SubmittingPatches \n> just a few paragraphs below.\n>\n>> Send your patch with \"To:\" set to the mailing list, with \"cc:\" listing\n>> people who are involved in the area you are touching (the `git\n>> contacts` command in `contrib/contacts/` can help to\n>> identify them), to solicit comments and reviews.  Also, when you made\n>> trial merges of your topic to `next` and `seen`, you may have noticed\n>> work by others conflicting with your changes.  There is a good possibility\n>> that these people may know the area you are touching well.\n>\n> Could we improve the existing paragraph instead of duplicating this \n> information?\n>\n>> [[attachment]]\n>> Do not attach the patch as a MIME attachment, compressed or not.\n>> Do not let your e-mail client send quoted-printable.  Do not let\n>> \n>> base-commit: c2cbfbd2e28cbe27c194d62183b42f27a6a5bb87\n>> -- \n>> gitgitgadget\n>> \n>\n"},{"id":"492155","messageId":"33782130-d4d4-43e7-8688-871a1134121e@matthieu-moy.fr","threadId":"61250","inReplyTo":"ac044ecd116d4491b5f6cdddc0266486@SAMBXP02.univ-lyon1.fr","subject":"Re: [RFC] git-contacts: exclude list","fromName":"Matthieu Moy","fromEmail":"git@matthieu-moy.fr","sentAt":"2024-04-03T12:13:34Z","receivedAt":"2024-04-03T12:34:06Z","isPatch":false,"sender":{"key":"git@matthieu-moy.fr","avatar":"https://avatars.githubusercontent.com/u/14709?v=4"},"body":"On 4/3/24 12:11, Matthias Aßhauer wrote:\n> \n> \n> On Wed, 3 Apr 2024, Matthias Aßhauer wrote:\n> \n> After sending my previous message I've noticed that all of the etu.univ-lyon1.fr recipients bounced with the\n> message\n> \n>> 550 5.5.0 Requested actions not taken as the mailbox is unavailable\n> \n> After running etu.univ-lyon1.fr&through a machine translation\n> service it seems like that subdomain is used for mailboxes of current\n> students,\n\nIndeed. These are former students, who contributed to Git under my \nsupervision (as teacher in the same university). I don't have their \ncurrent email address.\n\n> Would it make sense to have a way to teach `git-contacts` to exclude a\n> user defined list of known-bad recipient adresses? This could potentiallly\n> be an extension of mailmap or a separate file.\n\nSounds like a good idea, yes. At least, the current thread would be a \ngood use-case for such feature.\n\n-- \nMatthieu Moy\n"},{"id":"492168","messageId":"xmqqbk6qa0gy.fsf@gitster.g","threadId":"61250","inReplyTo":"DB9P250MB0692A99BBDC70A0E65B18A1FA53D2@DB9P250MB0692.EURP250.PROD.OUTLOOK.COM","subject":"Re: [PATCH] docs: recommend using contrib/contacts/git-contacts","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2024-04-03T16:13:17Z","receivedAt":"2024-04-03T16:13:23Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Matthias Aßhauer <mha1993@live.de> writes:\n\n> There is already a paragraph about this in\n> Documentation/SubmittingPatches just a few paragraphs below.\n>\n>> Send your patch with \"To:\" set to the mailing list, with \"cc:\" listing\n>> people who are involved in the area you are touching (the `git\n>> contacts` command in `contrib/contacts/` can help to\n>> identify them), to solicit comments and reviews.  Also, when you made\n>> trial merges of your topic to `next` and `seen`, you may have noticed\n>> work by others conflicting with your changes.  There is a good possibility\n>> that these people may know the area you are touching well.\n>\n> Could we improve the existing paragraph instead of duplicating this\n> information?\n\nAbsolutely.  I am glad that you were paying attention to the\nquestion that triggered this patch ;-)\n\nWe may want to add to coding guidelines to try avoiding to word wrap\na line in the middle of a multi-word phrase.  If such a rule were\nfollowed,\n\n    $ git grep git.contacts Documentation\n\nwould easily had found the existing passage.\n\nThanks.\n"},{"id":"492171","messageId":"xmqqsf028kp3.fsf@gitster.g","threadId":"61250","inReplyTo":"DB9P250MB06923CE0F60A117A5CA5B028A53D2@DB9P250MB0692.EURP250.PROD.OUTLOOK.COM","subject":"Re: [RFC] git-contacts: exclude list","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2024-04-03T16:39:20Z","receivedAt":"2024-04-03T16:39:28Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Matthias Aßhauer <mha1993@live.de> writes:\n\n> Would it make sense to have a way to teach `git-contacts` to exclude a\n> user defined list of known-bad recipient adresses? This could\n> potentiallly be an extension of mailmap or a separate file.\n\nThe contacts script already uses \"check-mailmap\".  \n\nUnfortunately it only uses the default mailmap, which may not be\nsuitable for our purpose here, but it shouldn't be too hard to run\n\"git -c mailmap.file=<custom> check-mailmap\", ship a custom mailmap\nfile with the contacts script to map defunct addresses to something\nthat is clearly invalid, and then filter them out from the output.\n\nWe want to add a mechanism to allow \"including\" another mailmap, so\nthat \"../../.mailmap\" is included from contrib/contacts/mailmap or\nsomething like that.\n\nOn the other hand, if we want to use our primary mailmap to also\nmark the defunct addresses, then we do not have to do anything\nspecial.  Mark these defunct addresses to the primary mailmap to\nmap them to \"$HumanReadableName <$name@defunct.invalid>\" and then\ndoing something like the attached.\n\ndiff --git i/contrib/contacts/git-contacts w/contrib/contacts/git-contacts\nindex 85ad732fc0..00e77c4125 100755\n--- i/contrib/contacts/git-contacts\n+++ w/contrib/contacts/git-contacts\n@@ -197,6 +197,7 @@ $contacts = mailmap_contacts($contacts);\n \n my $ncommits = scalar(keys %commits);\n for my $contact (keys %$contacts) {\n+\tnext if $contact =~ /\\@defunct.invalid>$/;\n \tmy $percent = $contacts->{$contact} * 100 / $ncommits;\n \tnext if $percent < $min_percent;\n \tprint \"$contact\\n\";\n"},{"id":"492266","messageId":"owlyv84wsxtb.fsf@fine.c.googlers.com","threadId":"61250","inReplyTo":"Zgulh1rxl9Af-iQK@tanuki","subject":"Re: [PATCH] docs: recommend using contrib/contacts/git-contacts","fromName":"Linus Arver","fromEmail":"linusa@google.com","sentAt":"2024-04-04T20:00:16Z","receivedAt":"2024-04-04T20:00:18Z","isPatch":true,"sender":{"key":"linus@ucla.edu","avatar":null},"body":"Patrick Steinhardt <ps@pks.im> writes:\n\n> On Tue, Apr 02, 2024 at 12:20:05AM +0000, Linus Arver via GitGitGadget wrote:\n>> From: Linus Arver <linusa@google.com>\n>> \n>> Although we've had this script since 4d06402b1b (contrib: add\n>> git-contacts helper, 2013-07-21), we don't mention it in our\n>> introductory docs. Do so now.\n>> \n>> Signed-off-by: Linus Arver <linusa@google.com>\n>> ---\n>>     docs: recommend using contrib/contacts/git-contacts\n>> \n>> Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-1704%2Flistx%2Freviewers-v1\n>> Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-1704/listx/reviewers-v1\n>> Pull-Request: https://github.com/gitgitgadget/git/pull/1704\n>> \n>>  Documentation/MyFirstContribution.txt | 3 +++\n>>  Documentation/SubmittingPatches       | 4 ++++\n>>  2 files changed, 7 insertions(+)\n>> \n>> diff --git a/Documentation/MyFirstContribution.txt b/Documentation/MyFirstContribution.txt\n>> index f06563e9817..eb1e27a82df 100644\n>> --- a/Documentation/MyFirstContribution.txt\n>> +++ b/Documentation/MyFirstContribution.txt\n>> @@ -1116,6 +1116,9 @@ $ git send-email --to=target@example.com psuh/*.patch\n>>  NOTE: Check `git help send-email` for some other options which you may find\n>>  valuable, such as changing the Reply-to address or adding more CC and BCC lines.\n>>  \n>> +NOTE: Use `contrib/contacts/git-contacts` to get a list of reviewers you should\n>> +include in the CC list.\n>> +\n>\n> Should we mention that the script can be passed to git-send-email(1) via\n> `--cc-cmd=`?\n\nAck, will do. I think I can just copy/paste the existing guidance from\ngit-contact.txt which has this example:\n\n    git send-email --cc-cmd='git contacts' feature/*.patch\n"},{"id":"492267","messageId":"owlysf00sxrt.fsf@fine.c.googlers.com","threadId":"61250","inReplyTo":"DB9P250MB0692A99BBDC70A0E65B18A1FA53D2@DB9P250MB0692.EURP250.PROD.OUTLOOK.COM","subject":"Re: [PATCH] docs: recommend using contrib/contacts/git-contacts","fromName":"Linus Arver","fromEmail":"linusa@google.com","sentAt":"2024-04-04T20:01:10Z","receivedAt":"2024-04-04T20:01:13Z","isPatch":true,"sender":{"key":"linus@ucla.edu","avatar":null},"body":"Matthias Aßhauer <mha1993@live.de> writes:\n\n> On Tue, 2 Apr 2024, Linus Arver via GitGitGadget wrote:\n>\n>> From: Linus Arver <linusa@google.com>\n>>\n>> Although we've had this script since 4d06402b1b (contrib: add\n>> git-contacts helper, 2013-07-21), we don't mention it in our\n>> introductory docs. Do so now.\n>>\n>> Signed-off-by: Linus Arver <linusa@google.com>\n>> ---\n>>    docs: recommend using contrib/contacts/git-contacts\n>>\n>> Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-1704%2Flistx%2Freviewers-v1\n>> Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-1704/listx/reviewers-v1\n>> Pull-Request: https://github.com/gitgitgadget/git/pull/1704\n>>\n>> Documentation/MyFirstContribution.txt | 3 +++\n>> Documentation/SubmittingPatches       | 4 ++++\n>> 2 files changed, 7 insertions(+)\n>>\n>> diff --git a/Documentation/MyFirstContribution.txt b/Documentation/MyFirstContribution.txt\n>> index f06563e9817..eb1e27a82df 100644\n>> --- a/Documentation/MyFirstContribution.txt\n>> +++ b/Documentation/MyFirstContribution.txt\n>> @@ -1116,6 +1116,9 @@ $ git send-email --to=target@example.com psuh/*.patch\n>> NOTE: Check `git help send-email` for some other options which you may find\n>> valuable, such as changing the Reply-to address or adding more CC and BCC lines.\n>>\n>> +NOTE: Use `contrib/contacts/git-contacts` to get a list of reviewers you should\n>> +include in the CC list.\n>> +\n>> NOTE: When you are sending a real patch, it will go to git@vger.kernel.org - but\n>> please don't send your patchset from the tutorial to the real mailing list! For\n>> now, you can send it to yourself, to make sure you understand how it will look.\n>> diff --git a/Documentation/SubmittingPatches b/Documentation/SubmittingPatches\n>> index e734a3f0f17..52d11ff510b 100644\n>> --- a/Documentation/SubmittingPatches\n>> +++ b/Documentation/SubmittingPatches\n>> @@ -459,6 +459,10 @@ an explanation of changes between each iteration can be kept in\n>> Git-notes and inserted automatically following the three-dash\n>> line via `git format-patch --notes`.\n>>\n>> +[[suggested-reviewers]]\n>> +Use `contrib/contacts/git-contacts` to get a list of reviewers you should\n>> +include in the CC list.\n>> +\n>\n> There is already a paragraph about this in Documentation/SubmittingPatches \n> just a few paragraphs below.\n>\n>> Send your patch with \"To:\" set to the mailing list, with \"cc:\" listing\n>> people who are involved in the area you are touching (the `git\n>> contacts` command in `contrib/contacts/` can help to\n>> identify them), to solicit comments and reviews.  Also, when you made\n>> trial merges of your topic to `next` and `seen`, you may have noticed\n>> work by others conflicting with your changes.  There is a good possibility\n>> that these people may know the area you are touching well.\n>\n> Could we improve the existing paragraph instead of duplicating this \n> information?\n\nAh, yes of course (somehow I missed that existing guidance). Will update.\n"},{"id":"492347","messageId":"pull.1704.v2.git.1712366536.gitgitgadget@gmail.com","threadId":"61250","inReplyTo":"pull.1704.git.1712017205754.gitgitgadget@gmail.com","subject":"[PATCH v2 0/8] docs: recommend using contrib/contacts/git-contacts","fromName":"Linus Arver via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2024-04-06T01:22:08Z","receivedAt":"2024-04-06T01:22:20Z","isPatch":true,"sender":{"key":"linus@ucla.edu","avatar":null},"body":"Make git-contacts more prominent in our docs.\n\n\nNotable changes in v2\n=====================\n\n * Improve existing mention of git-contacts in SubmittingPatches (instead of\n   adding a separate, entirely new paragraph)\n * Add example usage of integrating git-contacts with git-send-email with\n   the latter's --cc-cmd flag.\n * Various smaller fixes to SubmittingPatches\n\nLinus Arver (8):\n  MyFirstContribution: mention contrib/contacts/git-contacts\n  SubmittingPatches: make 'git contacts' grep-friendly\n  SubmittingPatches: mention GitGitGadget\n  SubmittingPatches: quote commands\n  SubmittingPatches: discuss reviewers first\n  SubmittingPatches: dedupe discussion of security patches\n  SubmittingPatches: add heading for format-patch and send-email\n  SubmittingPatches: demonstrate using git-contacts with git-send-email\n\n Documentation/MyFirstContribution.txt |  5 ++\n Documentation/SubmittingPatches       | 68 +++++++++++++++------------\n 2 files changed, 43 insertions(+), 30 deletions(-)\n\n\nbase-commit: c2cbfbd2e28cbe27c194d62183b42f27a6a5bb87\nPublished-As: https://github.com/gitgitgadget/git/releases/tag/pr-1704%2Flistx%2Freviewers-v2\nFetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-1704/listx/reviewers-v2\nPull-Request: https://github.com/gitgitgadget/git/pull/1704\n\nRange-diff vs v1:\n\n 1:  7f1ac742008 ! 1:  3817e7f3cd0 docs: recommend using contrib/contacts/git-contacts\n     @@ Metadata\n      Author: Linus Arver <linusa@google.com>\n      \n       ## Commit message ##\n     -    docs: recommend using contrib/contacts/git-contacts\n     +    MyFirstContribution: mention contrib/contacts/git-contacts\n      \n          Although we've had this script since 4d06402b1b (contrib: add\n          git-contacts helper, 2013-07-21), we don't mention it in our\n     @@ Documentation/MyFirstContribution.txt: $ git send-email --to=target@example.com\n       valuable, such as changing the Reply-to address or adding more CC and BCC lines.\n       \n      +NOTE: Use `contrib/contacts/git-contacts` to get a list of reviewers you should\n     -+include in the CC list.\n     ++include in the CC list. In addition, you can do `git send-email --cc-cmd='git\n     ++contacts' feature/*.patch` to automatically pass this list of emails to\n     ++`send-email`.\n      +\n       NOTE: When you are sending a real patch, it will go to git@vger.kernel.org - but\n       please don't send your patchset from the tutorial to the real mailing list! For\n       now, you can send it to yourself, to make sure you understand how it will look.\n     -\n     - ## Documentation/SubmittingPatches ##\n     -@@ Documentation/SubmittingPatches: an explanation of changes between each iteration can be kept in\n     - Git-notes and inserted automatically following the three-dash\n     - line via `git format-patch --notes`.\n     - \n     -+[[suggested-reviewers]]\n     -+Use `contrib/contacts/git-contacts` to get a list of reviewers you should\n     -+include in the CC list.\n     -+\n     - [[attachment]]\n     - Do not attach the patch as a MIME attachment, compressed or not.\n     - Do not let your e-mail client send quoted-printable.  Do not let\n -:  ----------- > 2:  82e5e05288d SubmittingPatches: make 'git contacts' grep-friendly\n -:  ----------- > 3:  6e6950afa6e SubmittingPatches: mention GitGitGadget\n -:  ----------- > 4:  fb06d5ce247 SubmittingPatches: quote commands\n -:  ----------- > 5:  a8abcf45881 SubmittingPatches: discuss reviewers first\n -:  ----------- > 6:  326afe13315 SubmittingPatches: dedupe discussion of security patches\n -:  ----------- > 7:  09f4e7ad123 SubmittingPatches: add heading for format-patch and send-email\n -:  ----------- > 8:  b35748f0cf8 SubmittingPatches: demonstrate using git-contacts with git-send-email\n\n-- \ngitgitgadget\n"},{"id":"492348","messageId":"3817e7f3cd007fe26b8bfdec6babed1c17ec3795.1712366536.git.gitgitgadget@gmail.com","threadId":"61250","inReplyTo":"pull.1704.v2.git.1712366536.gitgitgadget@gmail.com","subject":"[PATCH v2 1/8] MyFirstContribution: mention contrib/contacts/git-contacts","fromName":"Linus Arver via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2024-04-06T01:22:09Z","receivedAt":"2024-04-06T01:22:21Z","isPatch":true,"sender":{"key":"linus@ucla.edu","avatar":null},"body":"From: Linus Arver <linusa@google.com>\n\nAlthough we've had this script since 4d06402b1b (contrib: add\ngit-contacts helper, 2013-07-21), we don't mention it in our\nintroductory docs. Do so now.\n\nSigned-off-by: Linus Arver <linusa@google.com>\n---\n Documentation/MyFirstContribution.txt | 5 +++++\n 1 file changed, 5 insertions(+)\n\ndiff --git a/Documentation/MyFirstContribution.txt b/Documentation/MyFirstContribution.txt\nindex f06563e9817..ad3989f53e5 100644\n--- a/Documentation/MyFirstContribution.txt\n+++ b/Documentation/MyFirstContribution.txt\n@@ -1116,6 +1116,11 @@ $ git send-email --to=target@example.com psuh/*.patch\n NOTE: Check `git help send-email` for some other options which you may find\n valuable, such as changing the Reply-to address or adding more CC and BCC lines.\n \n+NOTE: Use `contrib/contacts/git-contacts` to get a list of reviewers you should\n+include in the CC list. In addition, you can do `git send-email --cc-cmd='git\n+contacts' feature/*.patch` to automatically pass this list of emails to\n+`send-email`.\n+\n NOTE: When you are sending a real patch, it will go to git@vger.kernel.org - but\n please don't send your patchset from the tutorial to the real mailing list! For\n now, you can send it to yourself, to make sure you understand how it will look.\n-- \ngitgitgadget\n\n"},{"id":"492349","messageId":"82e5e05288ded6394e562408507e3269c26e688a.1712366536.git.gitgitgadget@gmail.com","threadId":"61250","inReplyTo":"pull.1704.v2.git.1712366536.gitgitgadget@gmail.com","subject":"[PATCH v2 2/8] SubmittingPatches: make 'git contacts' grep-friendly","fromName":"Linus Arver via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2024-04-06T01:22:10Z","receivedAt":"2024-04-06T01:22:22Z","isPatch":true,"sender":{"key":"linus@ucla.edu","avatar":null},"body":"From: Linus Arver <linusa@google.com>\n\nAvoid splitting up the command over two lines. This way, a command like\n\n    $ git grep git.contacts Documentation\n\nwill return a positive hit for this location.\n\nSigned-off-by: Linus Arver <linusa@google.com>\n---\n Documentation/SubmittingPatches | 4 ++--\n 1 file changed, 2 insertions(+), 2 deletions(-)\n\ndiff --git a/Documentation/SubmittingPatches b/Documentation/SubmittingPatches\nindex e734a3f0f17..a33fe7e11f6 100644\n--- a/Documentation/SubmittingPatches\n+++ b/Documentation/SubmittingPatches\n@@ -494,8 +494,8 @@ mentioned below, but should instead be sent privately to the Git\n Security mailing list{security-ml-ref}.\n \n Send your patch with \"To:\" set to the mailing list, with \"cc:\" listing\n-people who are involved in the area you are touching (the `git\n-contacts` command in `contrib/contacts/` can help to\n+people who are involved in the area you are touching (the `git contacts`\n+command in `contrib/contacts/` can help to\n identify them), to solicit comments and reviews.  Also, when you made\n trial merges of your topic to `next` and `seen`, you may have noticed\n work by others conflicting with your changes.  There is a good possibility\n-- \ngitgitgadget\n\n"},{"id":"492350","messageId":"6e6950afa6e6e884ee89ac24c05b50dcc722657d.1712366536.git.gitgitgadget@gmail.com","threadId":"61250","inReplyTo":"pull.1704.v2.git.1712366536.gitgitgadget@gmail.com","subject":"[PATCH v2 3/8] SubmittingPatches: mention GitGitGadget","fromName":"Linus Arver via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2024-04-06T01:22:11Z","receivedAt":"2024-04-06T01:22:23Z","isPatch":true,"sender":{"key":"linus@ucla.edu","avatar":null},"body":"From: Linus Arver <linusa@google.com>\n\nSigned-off-by: Linus Arver <linusa@google.com>\n---\n Documentation/SubmittingPatches | 4 ++++\n 1 file changed, 4 insertions(+)\n\ndiff --git a/Documentation/SubmittingPatches b/Documentation/SubmittingPatches\nindex a33fe7e11f6..48b270b4c48 100644\n--- a/Documentation/SubmittingPatches\n+++ b/Documentation/SubmittingPatches\n@@ -408,6 +408,10 @@ are optimized for the workflow of sending patches, avoiding many ways\n your existing e-mail client (often optimized for \"multipart/*\" MIME\n type e-mails) might render your patches unusable.\n \n+NOTE: You can also use GitGitGadget (https://gitgitgadget.github.io/) to send in\n+your patches. The discussion here focuses on using `format-patch` and\n+`send-email`.\n+\n People on the Git mailing list need to be able to read and\n comment on the changes you are submitting.  It is important for\n a developer to be able to \"quote\" your changes, using standard\n-- \ngitgitgadget\n\n"},{"id":"492351","messageId":"fb06d5ce247c17f61f0c4f518979c76753017442.1712366536.git.gitgitgadget@gmail.com","threadId":"61250","inReplyTo":"pull.1704.v2.git.1712366536.gitgitgadget@gmail.com","subject":"[PATCH v2 4/8] SubmittingPatches: quote commands","fromName":"Linus Arver via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2024-04-06T01:22:12Z","receivedAt":"2024-04-06T01:22:24Z","isPatch":true,"sender":{"key":"linus@ucla.edu","avatar":null},"body":"From: Linus Arver <linusa@google.com>\n\nSigned-off-by: Linus Arver <linusa@google.com>\n---\n Documentation/SubmittingPatches | 2 +-\n 1 file changed, 1 insertion(+), 1 deletion(-)\n\ndiff --git a/Documentation/SubmittingPatches b/Documentation/SubmittingPatches\nindex 48b270b4c48..24c7041a06f 100644\n--- a/Documentation/SubmittingPatches\n+++ b/Documentation/SubmittingPatches\n@@ -403,7 +403,7 @@ Before sending any patches, please note that patches that may be\n security relevant should be submitted privately to the Git Security\n mailing list{security-ml}, instead of the public mailing list.\n \n-Learn to use format-patch and send-email if possible.  These commands\n+Learn to use `format-patch` and `send-email` if possible.  These commands\n are optimized for the workflow of sending patches, avoiding many ways\n your existing e-mail client (often optimized for \"multipart/*\" MIME\n type e-mails) might render your patches unusable.\n-- \ngitgitgadget\n\n"},{"id":"492352","messageId":"a8abcf45881fa759c1a2addcc12b286e0533c6e8.1712366536.git.gitgitgadget@gmail.com","threadId":"61250","inReplyTo":"pull.1704.v2.git.1712366536.gitgitgadget@gmail.com","subject":"[PATCH v2 5/8] SubmittingPatches: discuss reviewers first","fromName":"Linus Arver via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2024-04-06T01:22:13Z","receivedAt":"2024-04-06T01:22:26Z","isPatch":true,"sender":{"key":"linus@ucla.edu","avatar":null},"body":"From: Linus Arver <linusa@google.com>\n\nNo matter how well someone configures their email tooling, understanding\nwho to send the patches to is something that must always be considered.\nSo discuss it first instead of at the end.\n\nIn the following commit we will clean up the (now redundant) discussion\nabout sending security patches to the Git Security mailing list.\n\nSigned-off-by: Linus Arver <linusa@google.com>\n---\n Documentation/SubmittingPatches | 58 +++++++++++++++++----------------\n 1 file changed, 30 insertions(+), 28 deletions(-)\n\ndiff --git a/Documentation/SubmittingPatches b/Documentation/SubmittingPatches\nindex 24c7041a06f..17db961bac4 100644\n--- a/Documentation/SubmittingPatches\n+++ b/Documentation/SubmittingPatches\n@@ -397,6 +397,36 @@ letter.\n [[send-patches]]\n === Sending your patches.\n \n+==== Choosing your reviewers\n+\n+:security-ml-ref: footnoteref:[security-ml]\n+\n+As mentioned at the beginning of the section, patches that may be\n+security relevant should not be submitted to the public mailing list\n+mentioned below, but should instead be sent privately to the Git\n+Security mailing list{security-ml-ref}.\n+\n+Send your patch with \"To:\" set to the mailing list, with \"cc:\" listing\n+people who are involved in the area you are touching (the `git contacts`\n+command in `contrib/contacts/` can help to\n+identify them), to solicit comments and reviews.  Also, when you made\n+trial merges of your topic to `next` and `seen`, you may have noticed\n+work by others conflicting with your changes.  There is a good possibility\n+that these people may know the area you are touching well.\n+\n+:current-maintainer: footnote:[The current maintainer: gitster@pobox.com]\n+:git-ml: footnote:[The mailing list: git@vger.kernel.org]\n+\n+After the list reached a consensus that it is a good idea to apply the\n+patch, re-send it with \"To:\" set to the maintainer{current-maintainer}\n+and \"cc:\" the list{git-ml} for inclusion.  This is especially relevant\n+when the maintainer did not heavily participate in the discussion and\n+instead left the review to trusted others.\n+\n+Do not forget to add trailers such as `Acked-by:`, `Reviewed-by:` and\n+`Tested-by:` lines as necessary to credit people who helped your\n+patch, and \"cc:\" them when sending such a final version for inclusion.\n+\n :security-ml: footnoteref:[security-ml,The Git Security mailing list: git-security@googlegroups.com]\n \n Before sending any patches, please note that patches that may be\n@@ -490,34 +520,6 @@ patch, format it as \"multipart/signed\", not a text/plain message\n that starts with `-----BEGIN PGP SIGNED MESSAGE-----`.  That is\n not a text/plain, it's something else.\n \n-:security-ml-ref: footnoteref:[security-ml]\n-\n-As mentioned at the beginning of the section, patches that may be\n-security relevant should not be submitted to the public mailing list\n-mentioned below, but should instead be sent privately to the Git\n-Security mailing list{security-ml-ref}.\n-\n-Send your patch with \"To:\" set to the mailing list, with \"cc:\" listing\n-people who are involved in the area you are touching (the `git contacts`\n-command in `contrib/contacts/` can help to\n-identify them), to solicit comments and reviews.  Also, when you made\n-trial merges of your topic to `next` and `seen`, you may have noticed\n-work by others conflicting with your changes.  There is a good possibility\n-that these people may know the area you are touching well.\n-\n-:current-maintainer: footnote:[The current maintainer: gitster@pobox.com]\n-:git-ml: footnote:[The mailing list: git@vger.kernel.org]\n-\n-After the list reached a consensus that it is a good idea to apply the\n-patch, re-send it with \"To:\" set to the maintainer{current-maintainer}\n-and \"cc:\" the list{git-ml} for inclusion.  This is especially relevant\n-when the maintainer did not heavily participate in the discussion and\n-instead left the review to trusted others.\n-\n-Do not forget to add trailers such as `Acked-by:`, `Reviewed-by:` and\n-`Tested-by:` lines as necessary to credit people who helped your\n-patch, and \"cc:\" them when sending such a final version for inclusion.\n-\n == Subsystems with dedicated maintainers\n \n Some parts of the system have dedicated maintainers with their own\n-- \ngitgitgadget\n\n"},{"id":"492353","messageId":"326afe1331568b4e2efbef12b8beebb263d1cfe4.1712366536.git.gitgitgadget@gmail.com","threadId":"61250","inReplyTo":"pull.1704.v2.git.1712366536.gitgitgadget@gmail.com","subject":"[PATCH v2 6/8] SubmittingPatches: dedupe discussion of security patches","fromName":"Linus Arver via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2024-04-06T01:22:14Z","receivedAt":"2024-04-06T01:22:27Z","isPatch":true,"sender":{"key":"linus@ucla.edu","avatar":null},"body":"From: Linus Arver <linusa@google.com>\n\nSigned-off-by: Linus Arver <linusa@google.com>\n---\n Documentation/SubmittingPatches | 15 ++++-----------\n 1 file changed, 4 insertions(+), 11 deletions(-)\n\ndiff --git a/Documentation/SubmittingPatches b/Documentation/SubmittingPatches\nindex 17db961bac4..311f306394b 100644\n--- a/Documentation/SubmittingPatches\n+++ b/Documentation/SubmittingPatches\n@@ -399,12 +399,11 @@ letter.\n \n ==== Choosing your reviewers\n \n-:security-ml-ref: footnoteref:[security-ml]\n+:security-ml: footnoteref:[security-ml,The Git Security mailing list: git-security@googlegroups.com]\n \n-As mentioned at the beginning of the section, patches that may be\n-security relevant should not be submitted to the public mailing list\n-mentioned below, but should instead be sent privately to the Git\n-Security mailing list{security-ml-ref}.\n+NOTE: Patches that may be\n+security relevant should be submitted privately to the Git Security\n+mailing list{security-ml}, instead of the public mailing list.\n \n Send your patch with \"To:\" set to the mailing list, with \"cc:\" listing\n people who are involved in the area you are touching (the `git contacts`\n@@ -427,12 +426,6 @@ Do not forget to add trailers such as `Acked-by:`, `Reviewed-by:` and\n `Tested-by:` lines as necessary to credit people who helped your\n patch, and \"cc:\" them when sending such a final version for inclusion.\n \n-:security-ml: footnoteref:[security-ml,The Git Security mailing list: git-security@googlegroups.com]\n-\n-Before sending any patches, please note that patches that may be\n-security relevant should be submitted privately to the Git Security\n-mailing list{security-ml}, instead of the public mailing list.\n-\n Learn to use `format-patch` and `send-email` if possible.  These commands\n are optimized for the workflow of sending patches, avoiding many ways\n your existing e-mail client (often optimized for \"multipart/*\" MIME\n-- \ngitgitgadget\n\n"},{"id":"492354","messageId":"09f4e7ad123b7359d29981b9a61243e9554487c6.1712366536.git.gitgitgadget@gmail.com","threadId":"61250","inReplyTo":"pull.1704.v2.git.1712366536.gitgitgadget@gmail.com","subject":"[PATCH v2 7/8] SubmittingPatches: add heading for format-patch and send-email","fromName":"Linus Arver via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2024-04-06T01:22:15Z","receivedAt":"2024-04-06T01:22:28Z","isPatch":true,"sender":{"key":"linus@ucla.edu","avatar":null},"body":"From: Linus Arver <linusa@google.com>\n\nSigned-off-by: Linus Arver <linusa@google.com>\n---\n Documentation/SubmittingPatches | 2 ++\n 1 file changed, 2 insertions(+)\n\ndiff --git a/Documentation/SubmittingPatches b/Documentation/SubmittingPatches\nindex 311f306394b..48224e745ff 100644\n--- a/Documentation/SubmittingPatches\n+++ b/Documentation/SubmittingPatches\n@@ -426,6 +426,8 @@ Do not forget to add trailers such as `Acked-by:`, `Reviewed-by:` and\n `Tested-by:` lines as necessary to credit people who helped your\n patch, and \"cc:\" them when sending such a final version for inclusion.\n \n+==== `format-patch` and `send-email`\n+\n Learn to use `format-patch` and `send-email` if possible.  These commands\n are optimized for the workflow of sending patches, avoiding many ways\n your existing e-mail client (often optimized for \"multipart/*\" MIME\n-- \ngitgitgadget\n\n"},{"id":"492355","messageId":"b35748f0cf8d7c501428794d555ab79a7a59ae33.1712366536.git.gitgitgadget@gmail.com","threadId":"61250","inReplyTo":"pull.1704.v2.git.1712366536.gitgitgadget@gmail.com","subject":"[PATCH v2 8/8] SubmittingPatches: demonstrate using git-contacts with git-send-email","fromName":"Linus Arver via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2024-04-06T01:22:16Z","receivedAt":"2024-04-06T01:22:29Z","isPatch":true,"sender":{"key":"linus@ucla.edu","avatar":null},"body":"From: Linus Arver <linusa@google.com>\n\nSigned-off-by: Linus Arver <linusa@google.com>\n---\n Documentation/SubmittingPatches | 7 +++++++\n 1 file changed, 7 insertions(+)\n\ndiff --git a/Documentation/SubmittingPatches b/Documentation/SubmittingPatches\nindex 48224e745ff..11c3e94d4a5 100644\n--- a/Documentation/SubmittingPatches\n+++ b/Documentation/SubmittingPatches\n@@ -413,6 +413,13 @@ trial merges of your topic to `next` and `seen`, you may have noticed\n work by others conflicting with your changes.  There is a good possibility\n that these people may know the area you are touching well.\n \n+If you are using `send-email`, you can feed it the output of `git contacts` like\n+this:\n+\n+....\n+\tgit send-email --cc-cmd='git contacts' feature/*.patch\n+....\n+\n :current-maintainer: footnote:[The current maintainer: gitster@pobox.com]\n :git-ml: footnote:[The mailing list: git@vger.kernel.org]\n \n-- \ngitgitgadget\n"},{"id":"492362","messageId":"xmqq8r1rqlgn.fsf@gitster.g","threadId":"61250","inReplyTo":"3817e7f3cd007fe26b8bfdec6babed1c17ec3795.1712366536.git.gitgitgadget@gmail.com","subject":"Re: [PATCH v2 1/8] MyFirstContribution: mention contrib/contacts/git-contacts","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2024-04-06T02:22:16Z","receivedAt":"2024-04-06T02:22:21Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"\"Linus Arver via GitGitGadget\" <gitgitgadget@gmail.com> writes:\n\n> From: Linus Arver <linusa@google.com>\n>\n> Although we've had this script since 4d06402b1b (contrib: add\n> git-contacts helper, 2013-07-21), we don't mention it in our\n> introductory docs. Do so now.\n>\n> Signed-off-by: Linus Arver <linusa@google.com>\n> ---\n>  Documentation/MyFirstContribution.txt | 5 +++++\n>  1 file changed, 5 insertions(+)\n>\n> diff --git a/Documentation/MyFirstContribution.txt b/Documentation/MyFirstContribution.txt\n> index f06563e9817..ad3989f53e5 100644\n> --- a/Documentation/MyFirstContribution.txt\n> +++ b/Documentation/MyFirstContribution.txt\n> @@ -1116,6 +1116,11 @@ $ git send-email --to=target@example.com psuh/*.patch\n>  NOTE: Check `git help send-email` for some other options which you may find\n>  valuable, such as changing the Reply-to address or adding more CC and BCC lines.\n>  \n> +NOTE: Use `contrib/contacts/git-contacts` to get a list of reviewers you should\n> +include in the CC list. In addition, you can do `git send-email --cc-cmd='git\n> +contacts' feature/*.patch` to automatically pass this list of emails to\n> +`send-email`.\n> +\n>  NOTE: When you are sending a real patch, it will go to git@vger.kernel.org - but\n>  please don't send your patchset from the tutorial to the real mailing list! For\n>  now, you can send it to yourself, to make sure you understand how it will look.\n\nNice.  \n\nI personally find \"you should\" a bit too strong and authoritative,\nthough.  Is the tool precise enough that we are confident that we do\nnot end up spamming those who are not actively helping others?\n\nAs I prefer not to be too assertive, something like\n\n    The `contrib/contacts/git-contacts` script may help you coming\n    up people you may want to ask to review your patch by adding\n    them to the Cc: header.\n\nis as far as I would go, but for those who are not familiar enough\nwith the project, perhaps it would be OK to assume that the script\nwould do a much better job than these contributors would do\nthemselves, I guess.\n\nThanks.\n"},{"id":"492363","messageId":"xmqq4jcfqlei.fsf@gitster.g","threadId":"61250","inReplyTo":"82e5e05288ded6394e562408507e3269c26e688a.1712366536.git.gitgitgadget@gmail.com","subject":"Re: [PATCH v2 2/8] SubmittingPatches: make 'git contacts' grep-friendly","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2024-04-06T02:23:33Z","receivedAt":"2024-04-06T02:23:39Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"\"Linus Arver via GitGitGadget\" <gitgitgadget@gmail.com> writes:\n\n> From: Linus Arver <linusa@google.com>\n>\n> Avoid splitting up the command over two lines. This way, a command like\n>\n>     $ git grep git.contacts Documentation\n>\n> will return a positive hit for this location.\n>\n> Signed-off-by: Linus Arver <linusa@google.com>\n> ---\n>  Documentation/SubmittingPatches | 4 ++--\n>  1 file changed, 2 insertions(+), 2 deletions(-)\n>\n> diff --git a/Documentation/SubmittingPatches b/Documentation/SubmittingPatches\n> index e734a3f0f17..a33fe7e11f6 100644\n> --- a/Documentation/SubmittingPatches\n> +++ b/Documentation/SubmittingPatches\n> @@ -494,8 +494,8 @@ mentioned below, but should instead be sent privately to the Git\n>  Security mailing list{security-ml-ref}.\n>  \n>  Send your patch with \"To:\" set to the mailing list, with \"cc:\" listing\n> -people who are involved in the area you are touching (the `git\n> -contacts` command in `contrib/contacts/` can help to\n> +people who are involved in the area you are touching (the `git contacts`\n> +command in `contrib/contacts/` can help to\n>  identify them), to solicit comments and reviews.  Also, when you made\n>  trial merges of your topic to `next` and `seen`, you may have noticed\n>  work by others conflicting with your changes.  There is a good possibility\n\nSure.  But I think a general rule to avoid writing documentation pages\nthat require a fix-up like this patch would be more valuable in the\nlonger term.\n\nOr investing in a better \"grep\" command ;-)\n\nIn any case, this is an improvement, so let's queue it as-is.\n"},{"id":"492364","messageId":"xmqqy19rp6od.fsf@gitster.g","threadId":"61250","inReplyTo":"6e6950afa6e6e884ee89ac24c05b50dcc722657d.1712366536.git.gitgitgadget@gmail.com","subject":"Re: [PATCH v2 3/8] SubmittingPatches: mention GitGitGadget","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2024-04-06T02:26:58Z","receivedAt":"2024-04-06T02:27:02Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"\"Linus Arver via GitGitGadget\" <gitgitgadget@gmail.com> writes:\n\n> From: Linus Arver <linusa@google.com>\n>\n> Signed-off-by: Linus Arver <linusa@google.com>\n> ---\n>  Documentation/SubmittingPatches | 4 ++++\n>  1 file changed, 4 insertions(+)\n>\n> diff --git a/Documentation/SubmittingPatches b/Documentation/SubmittingPatches\n> index a33fe7e11f6..48b270b4c48 100644\n> --- a/Documentation/SubmittingPatches\n> +++ b/Documentation/SubmittingPatches\n> @@ -408,6 +408,10 @@ are optimized for the workflow of sending patches, avoiding many ways\n>  your existing e-mail client (often optimized for \"multipart/*\" MIME\n>  type e-mails) might render your patches unusable.\n>  \n> +NOTE: You can also use GitGitGadget (https://gitgitgadget.github.io/) to send in\n> +your patches. The discussion here focuses on using `format-patch` and\n> +`send-email`.\n> +\n>  People on the Git mailing list need to be able to read and\n>  comment on the changes you are submitting.  It is important for\n>  a developer to be able to \"quote\" your changes, using standard\n\nRather than giving the URL and have the readers figure out how to\nuse it for themselves, it would be more helpful to readers to refer\nthem to MyFirstContrib document.\n\n    Note: we outline the procedure using `format-patch` plus\n    `send-email`, but you can also use GitGitGadget to send in your\n    patches (see MyFirstContribution document).\n\n\n\n"},{"id":"492365","messageId":"xmqqttkfp6le.fsf@gitster.g","threadId":"61250","inReplyTo":"pull.1704.v2.git.1712366536.gitgitgadget@gmail.com","subject":"Re: [PATCH v2 0/8] docs: recommend using contrib/contacts/git-contacts","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2024-04-06T02:28:45Z","receivedAt":"2024-04-06T02:28:48Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"\"Linus Arver via GitGitGadget\" <gitgitgadget@gmail.com> writes:\n\n> Make git-contacts more prominent in our docs.\n\nThanks.  Overall all patches look improvements.  I left some\ncomments on a few patches, though.\n"},{"id":"492602","messageId":"owlypluzs5qa.fsf@fine.c.googlers.com","threadId":"61250","inReplyTo":"xmqq8r1rqlgn.fsf@gitster.g","subject":"Re: [PATCH v2 1/8] MyFirstContribution: mention contrib/contacts/git-contacts","fromName":"Linus Arver","fromEmail":"linusa@google.com","sentAt":"2024-04-09T01:08:13Z","receivedAt":"2024-04-09T01:08:16Z","isPatch":true,"sender":{"key":"linus@ucla.edu","avatar":null},"body":"Junio C Hamano <gitster@pobox.com> writes:\n\n> \"Linus Arver via GitGitGadget\" <gitgitgadget@gmail.com> writes:\n>\n>> From: Linus Arver <linusa@google.com>\n>>\n>> Although we've had this script since 4d06402b1b (contrib: add\n>> git-contacts helper, 2013-07-21), we don't mention it in our\n>> introductory docs. Do so now.\n>>\n>> Signed-off-by: Linus Arver <linusa@google.com>\n>> ---\n>>  Documentation/MyFirstContribution.txt | 5 +++++\n>>  1 file changed, 5 insertions(+)\n>>\n>> diff --git a/Documentation/MyFirstContribution.txt b/Documentation/MyFirstContribution.txt\n>> index f06563e9817..ad3989f53e5 100644\n>> --- a/Documentation/MyFirstContribution.txt\n>> +++ b/Documentation/MyFirstContribution.txt\n>> @@ -1116,6 +1116,11 @@ $ git send-email --to=target@example.com psuh/*.patch\n>>  NOTE: Check `git help send-email` for some other options which you may find\n>>  valuable, such as changing the Reply-to address or adding more CC and BCC lines.\n>>  \n>> +NOTE: Use `contrib/contacts/git-contacts` to get a list of reviewers you should\n>> +include in the CC list. In addition, you can do `git send-email --cc-cmd='git\n>> +contacts' feature/*.patch` to automatically pass this list of emails to\n>> +`send-email`.\n>> +\n>>  NOTE: When you are sending a real patch, it will go to git@vger.kernel.org - but\n>>  please don't send your patchset from the tutorial to the real mailing list! For\n>>  now, you can send it to yourself, to make sure you understand how it will look.\n>\n> Nice.  \n>\n> I personally find \"you should\" a bit too strong and authoritative,\n> though.  Is the tool precise enough that we are confident that we do\n> not end up spamming those who are not actively helping others?\n\nTBH I had the same question, but brushed it off because I figured that\ngetting people to still use the tool would help make it better (find\nadditional areas of improvement, etc).\n\n> As I prefer not to be too assertive, something like\n>\n>     The `contrib/contacts/git-contacts` script may help you coming\n>     up people you may want to ask to review your patch by adding\n>     them to the Cc: header.\n>\n> is as far as I would go, but for those who are not familiar enough\n> with the project, perhaps it would be OK to assume that the script\n> would do a much better job than these contributors would do\n> themselves, I guess.\n\nYeah for newcomers the tool would probably do a better job. Perhaps\nwording it like \"If you're not sure who to CC, use\n`contrib/contacts/git-contacts` to ...\"  would be better?\n\n"},{"id":"492603","messageId":"owlyle5ns5me.fsf@fine.c.googlers.com","threadId":"61250","inReplyTo":"xmqqy19rp6od.fsf@gitster.g","subject":"Re: [PATCH v2 3/8] SubmittingPatches: mention GitGitGadget","fromName":"Linus Arver","fromEmail":"linusa@google.com","sentAt":"2024-04-09T01:10:33Z","receivedAt":"2024-04-09T01:10:36Z","isPatch":true,"sender":{"key":"linus@ucla.edu","avatar":null},"body":"Junio C Hamano <gitster@pobox.com> writes:\n\n> \"Linus Arver via GitGitGadget\" <gitgitgadget@gmail.com> writes:\n>\n>> From: Linus Arver <linusa@google.com>\n>>\n>> Signed-off-by: Linus Arver <linusa@google.com>\n>> ---\n>>  Documentation/SubmittingPatches | 4 ++++\n>>  1 file changed, 4 insertions(+)\n>>\n>> diff --git a/Documentation/SubmittingPatches b/Documentation/SubmittingPatches\n>> index a33fe7e11f6..48b270b4c48 100644\n>> --- a/Documentation/SubmittingPatches\n>> +++ b/Documentation/SubmittingPatches\n>> @@ -408,6 +408,10 @@ are optimized for the workflow of sending patches, avoiding many ways\n>>  your existing e-mail client (often optimized for \"multipart/*\" MIME\n>>  type e-mails) might render your patches unusable.\n>>  \n>> +NOTE: You can also use GitGitGadget (https://gitgitgadget.github.io/) to send in\n>> +your patches. The discussion here focuses on using `format-patch` and\n>> +`send-email`.\n>> +\n>>  People on the Git mailing list need to be able to read and\n>>  comment on the changes you are submitting.  It is important for\n>>  a developer to be able to \"quote\" your changes, using standard\n>\n> Rather than giving the URL and have the readers figure out how to\n> use it for themselves, it would be more helpful to readers to refer\n> them to MyFirstContrib document.\n>\n>     Note: we outline the procedure using `format-patch` plus\n>     `send-email`, but you can also use GitGitGadget to send in your\n>     patches (see MyFirstContribution document).\n\nAh, of course. Will update.\n"},{"id":"492607","messageId":"xmqqzfu32tly.fsf@gitster.g","threadId":"61250","inReplyTo":"owlyle5ns5me.fsf@fine.c.googlers.com","subject":"Re: [PATCH v2 3/8] SubmittingPatches: mention GitGitGadget","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2024-04-09T01:49:13Z","receivedAt":"2024-04-09T01:49:15Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Linus Arver <linusa@google.com> writes:\n\n>>     Note: we outline the procedure using `format-patch` plus\n>>     `send-email`, but you can also use GitGitGadget to send in your\n>>     patches (see MyFirstContribution document).\n>\n> Ah, of course. Will update.\n\nSure. \"can also\" -> \"can instead\", I think.\n"},{"id":"492608","messageId":"xmqqv84r2tlf.fsf@gitster.g","threadId":"61250","inReplyTo":"owlypluzs5qa.fsf@fine.c.googlers.com","subject":"Re: [PATCH v2 1/8] MyFirstContribution: mention contrib/contacts/git-contacts","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2024-04-09T01:49:32Z","receivedAt":"2024-04-09T01:49:34Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Linus Arver <linusa@google.com> writes:\n\n>> As I prefer not to be too assertive, something like\n>>\n>>     The `contrib/contacts/git-contacts` script may help you coming\n>>     up people you may want to ask to review your patch by adding\n>>     them to the Cc: header.\n>>\n>> is as far as I would go, but for those who are not familiar enough\n>> with the project, perhaps it would be OK to assume that the script\n>> would do a much better job than these contributors would do\n>> themselves, I guess.\n>\n> Yeah for newcomers the tool would probably do a better job. Perhaps\n> wording it like \"If you're not sure who to CC, use\n> `contrib/contacts/git-contacts` to ...\"  would be better?\n\nSounds reasonable.  Thanks.\n"},{"id":"492653","messageId":"pull.1704.v3.git.1712699815.gitgitgadget@gmail.com","threadId":"61250","inReplyTo":"pull.1704.v2.git.1712366536.gitgitgadget@gmail.com","subject":"[PATCH v3 0/8] docs: recommend using contrib/contacts/git-contacts","fromName":"Linus Arver via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2024-04-09T21:56:47Z","receivedAt":"2024-04-09T21:56:59Z","isPatch":true,"sender":{"key":"linus@ucla.edu","avatar":null},"body":"Make git-contacts more prominent in our docs.\n\n\nNotable changes in v3\n=====================\n\n * Refer to GitGitGadget via a link to MyFirstContribution (instead of\n   sending readers to GGG's homepage directly)\n * Soften the advice for using git-contacts\n\n\nNotable changes in v2\n=====================\n\n * Improve existing mention of git-contacts in SubmittingPatches (instead of\n   adding a separate, entirely new paragraph)\n * Add example usage of integrating git-contacts with git-send-email with\n   the latter's --cc-cmd flag.\n * Various smaller fixes to SubmittingPatches\n\nLinus Arver (8):\n  MyFirstContribution: mention contrib/contacts/git-contacts\n  SubmittingPatches: make 'git contacts' grep-friendly\n  SubmittingPatches: mention GitGitGadget\n  SubmittingPatches: quote commands\n  SubmittingPatches: discuss reviewers first\n  SubmittingPatches: dedupe discussion of security patches\n  SubmittingPatches: add heading for format-patch and send-email\n  SubmittingPatches: demonstrate using git-contacts with git-send-email\n\n Documentation/MyFirstContribution.txt |  5 ++\n Documentation/SubmittingPatches       | 68 +++++++++++++++------------\n 2 files changed, 43 insertions(+), 30 deletions(-)\n\n\nbase-commit: c2cbfbd2e28cbe27c194d62183b42f27a6a5bb87\nPublished-As: https://github.com/gitgitgadget/git/releases/tag/pr-1704%2Flistx%2Freviewers-v3\nFetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-1704/listx/reviewers-v3\nPull-Request: https://github.com/gitgitgadget/git/pull/1704\n\nRange-diff vs v2:\n\n 1:  3817e7f3cd0 ! 1:  1f65dc5ba3d MyFirstContribution: mention contrib/contacts/git-contacts\n     @@ Documentation/MyFirstContribution.txt: $ git send-email --to=target@example.com\n       NOTE: Check `git help send-email` for some other options which you may find\n       valuable, such as changing the Reply-to address or adding more CC and BCC lines.\n       \n     -+NOTE: Use `contrib/contacts/git-contacts` to get a list of reviewers you should\n     -+include in the CC list. In addition, you can do `git send-email --cc-cmd='git\n     -+contacts' feature/*.patch` to automatically pass this list of emails to\n     -+`send-email`.\n     ++NOTE: If you're not sure who to CC, use `contrib/contacts/git-contacts` to get a\n     ++list of reviewers you should include in the CC list. In addition, you can do\n     ++`git send-email --cc-cmd='git contacts' feature/*.patch` to automatically pass\n     ++this list of emails to `send-email`.\n      +\n       NOTE: When you are sending a real patch, it will go to git@vger.kernel.org - but\n       please don't send your patchset from the tutorial to the real mailing list! For\n 2:  82e5e05288d = 2:  6e8b1b50ac5 SubmittingPatches: make 'git contacts' grep-friendly\n 3:  6e6950afa6e ! 3:  7f8fdc053f7 SubmittingPatches: mention GitGitGadget\n     @@ Documentation/SubmittingPatches: are optimized for the workflow of sending patch\n       your existing e-mail client (often optimized for \"multipart/*\" MIME\n       type e-mails) might render your patches unusable.\n       \n     -+NOTE: You can also use GitGitGadget (https://gitgitgadget.github.io/) to send in\n     -+your patches. The discussion here focuses on using `format-patch` and\n     -+`send-email`.\n     ++NOTE: Here we outline the procedure using `format-patch` and\n     ++`send-email`, but you can instead use GitGitGadget to send in your\n     ++patches (see link:MyFirstContribution.html[MyFirstContribution]).\n      +\n       People on the Git mailing list need to be able to read and\n       comment on the changes you are submitting.  It is important for\n 4:  fb06d5ce247 = 4:  ef26bdb75c5 SubmittingPatches: quote commands\n 5:  a8abcf45881 = 5:  6f71b1731f2 SubmittingPatches: discuss reviewers first\n 6:  326afe13315 = 6:  f5e44f69941 SubmittingPatches: dedupe discussion of security patches\n 7:  09f4e7ad123 = 7:  e64fc5c888a SubmittingPatches: add heading for format-patch and send-email\n 8:  b35748f0cf8 = 8:  4fcab0d3319 SubmittingPatches: demonstrate using git-contacts with git-send-email\n\n-- \ngitgitgadget\n"},{"id":"492654","messageId":"1f65dc5ba3ded5b90ed929aa3884574e8b26cd9b.1712699815.git.gitgitgadget@gmail.com","threadId":"61250","inReplyTo":"pull.1704.v3.git.1712699815.gitgitgadget@gmail.com","subject":"[PATCH v3 1/8] MyFirstContribution: mention contrib/contacts/git-contacts","fromName":"Linus Arver via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2024-04-09T21:56:48Z","receivedAt":"2024-04-09T21:57:00Z","isPatch":true,"sender":{"key":"linus@ucla.edu","avatar":null},"body":"From: Linus Arver <linusa@google.com>\n\nAlthough we've had this script since 4d06402b1b (contrib: add\ngit-contacts helper, 2013-07-21), we don't mention it in our\nintroductory docs. Do so now.\n\nSigned-off-by: Linus Arver <linusa@google.com>\n---\n Documentation/MyFirstContribution.txt | 5 +++++\n 1 file changed, 5 insertions(+)\n\ndiff --git a/Documentation/MyFirstContribution.txt b/Documentation/MyFirstContribution.txt\nindex f06563e9817..00f4c63cb9f 100644\n--- a/Documentation/MyFirstContribution.txt\n+++ b/Documentation/MyFirstContribution.txt\n@@ -1116,6 +1116,11 @@ $ git send-email --to=target@example.com psuh/*.patch\n NOTE: Check `git help send-email` for some other options which you may find\n valuable, such as changing the Reply-to address or adding more CC and BCC lines.\n \n+NOTE: If you're not sure who to CC, use `contrib/contacts/git-contacts` to get a\n+list of reviewers you should include in the CC list. In addition, you can do\n+`git send-email --cc-cmd='git contacts' feature/*.patch` to automatically pass\n+this list of emails to `send-email`.\n+\n NOTE: When you are sending a real patch, it will go to git@vger.kernel.org - but\n please don't send your patchset from the tutorial to the real mailing list! For\n now, you can send it to yourself, to make sure you understand how it will look.\n-- \ngitgitgadget\n\n"},{"id":"492655","messageId":"6e8b1b50ac5a59a401f73d6e3e0ebf90e1259928.1712699815.git.gitgitgadget@gmail.com","threadId":"61250","inReplyTo":"pull.1704.v3.git.1712699815.gitgitgadget@gmail.com","subject":"[PATCH v3 2/8] SubmittingPatches: make 'git contacts' grep-friendly","fromName":"Linus Arver via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2024-04-09T21:56:49Z","receivedAt":"2024-04-09T21:57:00Z","isPatch":true,"sender":{"key":"linus@ucla.edu","avatar":null},"body":"From: Linus Arver <linusa@google.com>\n\nAvoid splitting up the command over two lines. This way, a command like\n\n    $ git grep git.contacts Documentation\n\nwill return a positive hit for this location.\n\nSigned-off-by: Linus Arver <linusa@google.com>\n---\n Documentation/SubmittingPatches | 4 ++--\n 1 file changed, 2 insertions(+), 2 deletions(-)\n\ndiff --git a/Documentation/SubmittingPatches b/Documentation/SubmittingPatches\nindex e734a3f0f17..a33fe7e11f6 100644\n--- a/Documentation/SubmittingPatches\n+++ b/Documentation/SubmittingPatches\n@@ -494,8 +494,8 @@ mentioned below, but should instead be sent privately to the Git\n Security mailing list{security-ml-ref}.\n \n Send your patch with \"To:\" set to the mailing list, with \"cc:\" listing\n-people who are involved in the area you are touching (the `git\n-contacts` command in `contrib/contacts/` can help to\n+people who are involved in the area you are touching (the `git contacts`\n+command in `contrib/contacts/` can help to\n identify them), to solicit comments and reviews.  Also, when you made\n trial merges of your topic to `next` and `seen`, you may have noticed\n work by others conflicting with your changes.  There is a good possibility\n-- \ngitgitgadget\n\n"},{"id":"492656","messageId":"7f8fdc053f729076e5e8c18fa167c71d6eb8b2e7.1712699815.git.gitgitgadget@gmail.com","threadId":"61250","inReplyTo":"pull.1704.v3.git.1712699815.gitgitgadget@gmail.com","subject":"[PATCH v3 3/8] SubmittingPatches: mention GitGitGadget","fromName":"Linus Arver via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2024-04-09T21:56:50Z","receivedAt":"2024-04-09T21:57:02Z","isPatch":true,"sender":{"key":"linus@ucla.edu","avatar":null},"body":"From: Linus Arver <linusa@google.com>\n\nSigned-off-by: Linus Arver <linusa@google.com>\n---\n Documentation/SubmittingPatches | 4 ++++\n 1 file changed, 4 insertions(+)\n\ndiff --git a/Documentation/SubmittingPatches b/Documentation/SubmittingPatches\nindex a33fe7e11f6..c1933c97cb7 100644\n--- a/Documentation/SubmittingPatches\n+++ b/Documentation/SubmittingPatches\n@@ -408,6 +408,10 @@ are optimized for the workflow of sending patches, avoiding many ways\n your existing e-mail client (often optimized for \"multipart/*\" MIME\n type e-mails) might render your patches unusable.\n \n+NOTE: Here we outline the procedure using `format-patch` and\n+`send-email`, but you can instead use GitGitGadget to send in your\n+patches (see link:MyFirstContribution.html[MyFirstContribution]).\n+\n People on the Git mailing list need to be able to read and\n comment on the changes you are submitting.  It is important for\n a developer to be able to \"quote\" your changes, using standard\n-- \ngitgitgadget\n\n"},{"id":"492657","messageId":"ef26bdb75c51e780e13d2f1435c9d6b85e0d720d.1712699815.git.gitgitgadget@gmail.com","threadId":"61250","inReplyTo":"pull.1704.v3.git.1712699815.gitgitgadget@gmail.com","subject":"[PATCH v3 4/8] SubmittingPatches: quote commands","fromName":"Linus Arver via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2024-04-09T21:56:51Z","receivedAt":"2024-04-09T21:57:02Z","isPatch":true,"sender":{"key":"linus@ucla.edu","avatar":null},"body":"From: Linus Arver <linusa@google.com>\n\nSigned-off-by: Linus Arver <linusa@google.com>\n---\n Documentation/SubmittingPatches | 2 +-\n 1 file changed, 1 insertion(+), 1 deletion(-)\n\ndiff --git a/Documentation/SubmittingPatches b/Documentation/SubmittingPatches\nindex c1933c97cb7..8594a3dda36 100644\n--- a/Documentation/SubmittingPatches\n+++ b/Documentation/SubmittingPatches\n@@ -403,7 +403,7 @@ Before sending any patches, please note that patches that may be\n security relevant should be submitted privately to the Git Security\n mailing list{security-ml}, instead of the public mailing list.\n \n-Learn to use format-patch and send-email if possible.  These commands\n+Learn to use `format-patch` and `send-email` if possible.  These commands\n are optimized for the workflow of sending patches, avoiding many ways\n your existing e-mail client (often optimized for \"multipart/*\" MIME\n type e-mails) might render your patches unusable.\n-- \ngitgitgadget\n\n"},{"id":"492658","messageId":"6f71b1731f2aed9c2f4dc101bf4349344b575d73.1712699815.git.gitgitgadget@gmail.com","threadId":"61250","inReplyTo":"pull.1704.v3.git.1712699815.gitgitgadget@gmail.com","subject":"[PATCH v3 5/8] SubmittingPatches: discuss reviewers first","fromName":"Linus Arver via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2024-04-09T21:56:52Z","receivedAt":"2024-04-09T21:57:03Z","isPatch":true,"sender":{"key":"linus@ucla.edu","avatar":null},"body":"From: Linus Arver <linusa@google.com>\n\nNo matter how well someone configures their email tooling, understanding\nwho to send the patches to is something that must always be considered.\nSo discuss it first instead of at the end.\n\nIn the following commit we will clean up the (now redundant) discussion\nabout sending security patches to the Git Security mailing list.\n\nSigned-off-by: Linus Arver <linusa@google.com>\n---\n Documentation/SubmittingPatches | 58 +++++++++++++++++----------------\n 1 file changed, 30 insertions(+), 28 deletions(-)\n\ndiff --git a/Documentation/SubmittingPatches b/Documentation/SubmittingPatches\nindex 8594a3dda36..392bbccc452 100644\n--- a/Documentation/SubmittingPatches\n+++ b/Documentation/SubmittingPatches\n@@ -397,6 +397,36 @@ letter.\n [[send-patches]]\n === Sending your patches.\n \n+==== Choosing your reviewers\n+\n+:security-ml-ref: footnoteref:[security-ml]\n+\n+As mentioned at the beginning of the section, patches that may be\n+security relevant should not be submitted to the public mailing list\n+mentioned below, but should instead be sent privately to the Git\n+Security mailing list{security-ml-ref}.\n+\n+Send your patch with \"To:\" set to the mailing list, with \"cc:\" listing\n+people who are involved in the area you are touching (the `git contacts`\n+command in `contrib/contacts/` can help to\n+identify them), to solicit comments and reviews.  Also, when you made\n+trial merges of your topic to `next` and `seen`, you may have noticed\n+work by others conflicting with your changes.  There is a good possibility\n+that these people may know the area you are touching well.\n+\n+:current-maintainer: footnote:[The current maintainer: gitster@pobox.com]\n+:git-ml: footnote:[The mailing list: git@vger.kernel.org]\n+\n+After the list reached a consensus that it is a good idea to apply the\n+patch, re-send it with \"To:\" set to the maintainer{current-maintainer}\n+and \"cc:\" the list{git-ml} for inclusion.  This is especially relevant\n+when the maintainer did not heavily participate in the discussion and\n+instead left the review to trusted others.\n+\n+Do not forget to add trailers such as `Acked-by:`, `Reviewed-by:` and\n+`Tested-by:` lines as necessary to credit people who helped your\n+patch, and \"cc:\" them when sending such a final version for inclusion.\n+\n :security-ml: footnoteref:[security-ml,The Git Security mailing list: git-security@googlegroups.com]\n \n Before sending any patches, please note that patches that may be\n@@ -490,34 +520,6 @@ patch, format it as \"multipart/signed\", not a text/plain message\n that starts with `-----BEGIN PGP SIGNED MESSAGE-----`.  That is\n not a text/plain, it's something else.\n \n-:security-ml-ref: footnoteref:[security-ml]\n-\n-As mentioned at the beginning of the section, patches that may be\n-security relevant should not be submitted to the public mailing list\n-mentioned below, but should instead be sent privately to the Git\n-Security mailing list{security-ml-ref}.\n-\n-Send your patch with \"To:\" set to the mailing list, with \"cc:\" listing\n-people who are involved in the area you are touching (the `git contacts`\n-command in `contrib/contacts/` can help to\n-identify them), to solicit comments and reviews.  Also, when you made\n-trial merges of your topic to `next` and `seen`, you may have noticed\n-work by others conflicting with your changes.  There is a good possibility\n-that these people may know the area you are touching well.\n-\n-:current-maintainer: footnote:[The current maintainer: gitster@pobox.com]\n-:git-ml: footnote:[The mailing list: git@vger.kernel.org]\n-\n-After the list reached a consensus that it is a good idea to apply the\n-patch, re-send it with \"To:\" set to the maintainer{current-maintainer}\n-and \"cc:\" the list{git-ml} for inclusion.  This is especially relevant\n-when the maintainer did not heavily participate in the discussion and\n-instead left the review to trusted others.\n-\n-Do not forget to add trailers such as `Acked-by:`, `Reviewed-by:` and\n-`Tested-by:` lines as necessary to credit people who helped your\n-patch, and \"cc:\" them when sending such a final version for inclusion.\n-\n == Subsystems with dedicated maintainers\n \n Some parts of the system have dedicated maintainers with their own\n-- \ngitgitgadget\n\n"},{"id":"492659","messageId":"f5e44f69941df50938d436bc0fc726aa4ca49264.1712699815.git.gitgitgadget@gmail.com","threadId":"61250","inReplyTo":"pull.1704.v3.git.1712699815.gitgitgadget@gmail.com","subject":"[PATCH v3 6/8] SubmittingPatches: dedupe discussion of security patches","fromName":"Linus Arver via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2024-04-09T21:56:53Z","receivedAt":"2024-04-09T21:57:04Z","isPatch":true,"sender":{"key":"linus@ucla.edu","avatar":null},"body":"From: Linus Arver <linusa@google.com>\n\nSigned-off-by: Linus Arver <linusa@google.com>\n---\n Documentation/SubmittingPatches | 15 ++++-----------\n 1 file changed, 4 insertions(+), 11 deletions(-)\n\ndiff --git a/Documentation/SubmittingPatches b/Documentation/SubmittingPatches\nindex 392bbccc452..98ec8170aeb 100644\n--- a/Documentation/SubmittingPatches\n+++ b/Documentation/SubmittingPatches\n@@ -399,12 +399,11 @@ letter.\n \n ==== Choosing your reviewers\n \n-:security-ml-ref: footnoteref:[security-ml]\n+:security-ml: footnoteref:[security-ml,The Git Security mailing list: git-security@googlegroups.com]\n \n-As mentioned at the beginning of the section, patches that may be\n-security relevant should not be submitted to the public mailing list\n-mentioned below, but should instead be sent privately to the Git\n-Security mailing list{security-ml-ref}.\n+NOTE: Patches that may be\n+security relevant should be submitted privately to the Git Security\n+mailing list{security-ml}, instead of the public mailing list.\n \n Send your patch with \"To:\" set to the mailing list, with \"cc:\" listing\n people who are involved in the area you are touching (the `git contacts`\n@@ -427,12 +426,6 @@ Do not forget to add trailers such as `Acked-by:`, `Reviewed-by:` and\n `Tested-by:` lines as necessary to credit people who helped your\n patch, and \"cc:\" them when sending such a final version for inclusion.\n \n-:security-ml: footnoteref:[security-ml,The Git Security mailing list: git-security@googlegroups.com]\n-\n-Before sending any patches, please note that patches that may be\n-security relevant should be submitted privately to the Git Security\n-mailing list{security-ml}, instead of the public mailing list.\n-\n Learn to use `format-patch` and `send-email` if possible.  These commands\n are optimized for the workflow of sending patches, avoiding many ways\n your existing e-mail client (often optimized for \"multipart/*\" MIME\n-- \ngitgitgadget\n\n"},{"id":"492660","messageId":"e64fc5c888aea1bed1279882da7d44cc1a463fd3.1712699815.git.gitgitgadget@gmail.com","threadId":"61250","inReplyTo":"pull.1704.v3.git.1712699815.gitgitgadget@gmail.com","subject":"[PATCH v3 7/8] SubmittingPatches: add heading for format-patch and send-email","fromName":"Linus Arver via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2024-04-09T21:56:54Z","receivedAt":"2024-04-09T21:57:05Z","isPatch":true,"sender":{"key":"linus@ucla.edu","avatar":null},"body":"From: Linus Arver <linusa@google.com>\n\nSigned-off-by: Linus Arver <linusa@google.com>\n---\n Documentation/SubmittingPatches | 2 ++\n 1 file changed, 2 insertions(+)\n\ndiff --git a/Documentation/SubmittingPatches b/Documentation/SubmittingPatches\nindex 98ec8170aeb..bafb1ee0157 100644\n--- a/Documentation/SubmittingPatches\n+++ b/Documentation/SubmittingPatches\n@@ -426,6 +426,8 @@ Do not forget to add trailers such as `Acked-by:`, `Reviewed-by:` and\n `Tested-by:` lines as necessary to credit people who helped your\n patch, and \"cc:\" them when sending such a final version for inclusion.\n \n+==== `format-patch` and `send-email`\n+\n Learn to use `format-patch` and `send-email` if possible.  These commands\n are optimized for the workflow of sending patches, avoiding many ways\n your existing e-mail client (often optimized for \"multipart/*\" MIME\n-- \ngitgitgadget\n\n"},{"id":"492661","messageId":"4fcab0d3319fa47c2f4126139ca636d6848e9e3d.1712699815.git.gitgitgadget@gmail.com","threadId":"61250","inReplyTo":"pull.1704.v3.git.1712699815.gitgitgadget@gmail.com","subject":"[PATCH v3 8/8] SubmittingPatches: demonstrate using git-contacts with git-send-email","fromName":"Linus Arver via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2024-04-09T21:56:55Z","receivedAt":"2024-04-09T21:57:06Z","isPatch":true,"sender":{"key":"linus@ucla.edu","avatar":null},"body":"From: Linus Arver <linusa@google.com>\n\nSigned-off-by: Linus Arver <linusa@google.com>\n---\n Documentation/SubmittingPatches | 7 +++++++\n 1 file changed, 7 insertions(+)\n\ndiff --git a/Documentation/SubmittingPatches b/Documentation/SubmittingPatches\nindex bafb1ee0157..57953898cee 100644\n--- a/Documentation/SubmittingPatches\n+++ b/Documentation/SubmittingPatches\n@@ -413,6 +413,13 @@ trial merges of your topic to `next` and `seen`, you may have noticed\n work by others conflicting with your changes.  There is a good possibility\n that these people may know the area you are touching well.\n \n+If you are using `send-email`, you can feed it the output of `git contacts` like\n+this:\n+\n+....\n+\tgit send-email --cc-cmd='git contacts' feature/*.patch\n+....\n+\n :current-maintainer: footnote:[The current maintainer: gitster@pobox.com]\n :git-ml: footnote:[The mailing list: git@vger.kernel.org]\n \n-- \ngitgitgadget\n"},{"id":"492663","messageId":"owlyil0qrxev.fsf@fine.c.googlers.com","threadId":"61250","inReplyTo":"1f65dc5ba3ded5b90ed929aa3884574e8b26cd9b.1712699815.git.gitgitgadget@gmail.com","subject":"Re: [PATCH v3 1/8] MyFirstContribution: mention contrib/contacts/git-contacts","fromName":"Linus Arver","fromEmail":"linusa@google.com","sentAt":"2024-04-09T22:20:08Z","receivedAt":"2024-04-09T22:20:10Z","isPatch":true,"sender":{"key":"linus@ucla.edu","avatar":null},"body":"\"Linus Arver via GitGitGadget\" <gitgitgadget@gmail.com> writes:\n\n> From: Linus Arver <linusa@google.com>\n>\n> Although we've had this script since 4d06402b1b (contrib: add\n> git-contacts helper, 2013-07-21), we don't mention it in our\n> introductory docs. Do so now.\n>\n> Signed-off-by: Linus Arver <linusa@google.com>\n> ---\n>  Documentation/MyFirstContribution.txt | 5 +++++\n>  1 file changed, 5 insertions(+)\n>\n> diff --git a/Documentation/MyFirstContribution.txt b/Documentation/MyFirstContribution.txt\n> index f06563e9817..00f4c63cb9f 100644\n> --- a/Documentation/MyFirstContribution.txt\n> +++ b/Documentation/MyFirstContribution.txt\n> @@ -1116,6 +1116,11 @@ $ git send-email --to=target@example.com psuh/*.patch\n>  NOTE: Check `git help send-email` for some other options which you may find\n>  valuable, such as changing the Reply-to address or adding more CC and BCC lines.\n>  \n> +NOTE: If you're not sure who to CC, use `contrib/contacts/git-contacts` to get a\n> +list of reviewers you should include in the CC list. In addition, you can do\n\nI just realized that I could also do s/should/could here, but I assume\nyou'd prefer to modify in-place instead of me rerolling for a v4 just\nfor this change. Thanks.\n"},{"id":"492664","messageId":"xmqq8r1m16n1.fsf@gitster.g","threadId":"61250","inReplyTo":"owlyil0qrxev.fsf@fine.c.googlers.com","subject":"Re: [PATCH v3 1/8] MyFirstContribution: mention contrib/contacts/git-contacts","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2024-04-09T23:02:58Z","receivedAt":"2024-04-09T23:03:09Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Linus Arver <linusa@google.com> writes:\n\n>> +NOTE: If you're not sure who to CC, use `contrib/contacts/git-contacts` to get a\n>> +list of reviewers you should include in the CC list. In addition, you can do\n>\n> I just realized that I could also do s/should/could here, but I assume\n> you'd prefer to modify in-place instead of me rerolling for a v4 just\n> for this change. Thanks.\n\nWe do not even know if there are other things people find issues\nwith in this iteration, so it is a bit too early to say that.  In a\ncase like this, if you do not feel so strongly about it (which I am\nguessing from your \"I could also\") either way, staying mum would\nprobably be the best.  If you feel more strongly than that, saying\n\"I plan to update 'should' -> 'could' if I end up doing v4\" right\nnow would be fine.  Then when there are other things you'd need to\nupdate after waiting for others' input, you could keep that promise.\nIf there are no other things you'd want to update after waiting,\nthat would be the good time to say \"Here is a fixup! commit; squash\ninto topic X. There is no other changes\".\n\nFor now, I inserted this extra commit between [1/8] and [2/8].\nThanks.\n\ndiff --git a/Documentation/MyFirstContribution.txt b/Documentation/MyFirstContribution.txt\nindex 00f4c63cb9..bb7e4174e8 100644\n--- a/Documentation/MyFirstContribution.txt\n+++ b/Documentation/MyFirstContribution.txt\n@@ -1116,8 +1116,8 @@ $ git send-email --to=target@example.com psuh/*.patch\n NOTE: Check `git help send-email` for some other options which you may find\n valuable, such as changing the Reply-to address or adding more CC and BCC lines.\n \n-NOTE: If you're not sure who to CC, use `contrib/contacts/git-contacts` to get a\n-list of reviewers you should include in the CC list. In addition, you can do\n+NOTE: If you're not sure whom to CC, running `contrib/contacts/git-contacts`\n+can list potential reviewers to put on the CC list. In addition, you can do\n `git send-email --cc-cmd='git contacts' feature/*.patch` to automatically pass\n this list of emails to `send-email`.\n \n\n\n"},{"id":"492669","messageId":"owlyfrvurtl6.fsf@fine.c.googlers.com","threadId":"61250","inReplyTo":"xmqq8r1m16n1.fsf@gitster.g","subject":"Re: [PATCH v3 1/8] MyFirstContribution: mention contrib/contacts/git-contacts","fromName":"Linus Arver","fromEmail":"linusa@google.com","sentAt":"2024-04-09T23:42:45Z","receivedAt":"2024-04-09T23:42:47Z","isPatch":true,"sender":{"key":"linus@ucla.edu","avatar":null},"body":"Junio C Hamano <gitster@pobox.com> writes:\n\n> Linus Arver <linusa@google.com> writes:\n>\n>>> +NOTE: If you're not sure who to CC, use `contrib/contacts/git-contacts` to get a\n>>> +list of reviewers you should include in the CC list. In addition, you can do\n>>\n>> I just realized that I could also do s/should/could here, but I assume\n>> you'd prefer to modify in-place instead of me rerolling for a v4 just\n>> for this change. Thanks.\n>\n> We do not even know if there are other things people find issues\n> with in this iteration, so it is a bit too early to say that.\n\nTrue.\n\nFTR I should have added \"I don't want to reroll this right now so soon\nto correct just this error, seems a bit premature\" because that's what I\nmeant to convey.\n\n> In a\n> case like this, if you do not feel so strongly about it (which I am\n> guessing from your \"I could also\") either way, staying mum would\n> probably be the best.\n\nAck.\n\n> If you feel more strongly than that, saying\n> \"I plan to update 'should' -> 'could' if I end up doing v4\" right\n> now would be fine.\n\nIn hindsight this is what I shoould have said.\n\n> Then when there are other things you'd need to\n> update after waiting for others' input, you could keep that promise.\n> If there are no other things you'd want to update after waiting,\n> that would be the good time to say \"Here is a fixup! commit; squash\n> into topic X. There is no other changes\".\n\nMakes sense, thanks. I need to set up `send-email` so that I can start\nsending individual patches like in your hypothetical scenario (I don't\nknow how to do that with GGG, or if it is even possible).\n\n> For now, I inserted this extra commit between [1/8] and [2/8].\n> Thanks.\n>\n> diff --git a/Documentation/MyFirstContribution.txt b/Documentation/MyFirstContribution.txt\n> index 00f4c63cb9..bb7e4174e8 100644\n> --- a/Documentation/MyFirstContribution.txt\n> +++ b/Documentation/MyFirstContribution.txt\n> @@ -1116,8 +1116,8 @@ $ git send-email --to=target@example.com psuh/*.patch\n>  NOTE: Check `git help send-email` for some other options which you may find\n>  valuable, such as changing the Reply-to address or adding more CC and BCC lines.\n>  \n> -NOTE: If you're not sure who to CC, use `contrib/contacts/git-contacts` to get a\n> -list of reviewers you should include in the CC list. In addition, you can do\n> +NOTE: If you're not sure whom to CC, running `contrib/contacts/git-contacts`\n> +can list potential reviewers to put on the CC list. In addition, you can do\n\nNice. I think you can also remove the trailing \"to put on the CC list\"\nclause because it's somewehat redundant.\n"},{"id":"492670","messageId":"CAPig+cSw5wsYpm4Szk6HzgT3u+wMVz77NfqR1rLJrmCzejxvmg@mail.gmail.com","threadId":"61250","inReplyTo":"6f71b1731f2aed9c2f4dc101bf4349344b575d73.1712699815.git.gitgitgadget@gmail.com","subject":"Re: [PATCH v3 5/8] SubmittingPatches: discuss reviewers first","fromName":"Eric Sunshine","fromEmail":"sunshine@sunshineco.com","sentAt":"2024-04-10T00:27:13Z","receivedAt":"2024-04-10T00:27:25Z","isPatch":true,"sender":{"key":"sunshine@sunshineco.com","avatar":"https://avatars.githubusercontent.com/u/163641?v=4"},"body":"On Tue, Apr 9, 2024 at 5:57 PM Linus Arver via GitGitGadget\n<gitgitgadget@gmail.com> wrote:\n> No matter how well someone configures their email tooling, understanding\n> who to send the patches to is something that must always be considered.\n> So discuss it first instead of at the end.\n>\n> In the following commit we will clean up the (now redundant) discussion\n> about sending security patches to the Git Security mailing list.\n>\n> Signed-off-by: Linus Arver <linusa@google.com>\n> ---\n> diff --git a/Documentation/SubmittingPatches b/Documentation/SubmittingPatches\n> @@ -397,6 +397,36 @@ letter.\n> +After the list reached a consensus that it is a good idea to apply the\n> +patch, re-send it with \"To:\" set to the maintainer{current-maintainer}\n> +and \"cc:\" the list{git-ml} for inclusion.  This is especially relevant\n> +when the maintainer did not heavily participate in the discussion and\n> +instead left the review to trusted others.\n\nThis isn't a new problem since you're merely relocating this text\n(thus, very likely may be outside the scope of this series), but is\nthis recommendation still accurate? Although I'm unable to locate it\nin the mailing list, I have some vague recollection of Junio\nrelatively recently wondering why a patch series had been resent with\nno changes and why he had been made the direct To: recipient. It\nturned out that the author was following the above instructions.\n\nGenerally speaking, Junio is quite good at picking up a patch series\nwithout the author having to follow these instructions to resend a\npatch series with no changes other than the To: header, so such\ninstructions place unnecessary burden upon both submitters as well as\nreviewers (who have to spend extra cycles wondering why a series was\nrerolled and whether any changes were made).\n\nIt would probably be more helpful (and less wasteful of reviewer time)\nto instruct the patch submitter to monitor \"What's Cooking\" and\nJunio's \"seen\" branch, and to ping the list (after a week or two) if\nthe patch series hasn't been picked up or seen any response.\n\n> +Do not forget to add trailers such as `Acked-by:`, `Reviewed-by:` and\n> +`Tested-by:` lines as necessary to credit people who helped your\n> +patch, and \"cc:\" them when sending such a final version for inclusion.\n\nAgain, not a new problem introduced by this patch, but it seems like\nall of these are actively wrong. In every case, these trailers are\n_given_ by reviewers _after_ a series has been submitted (thus, too\nlate for the author to add them), and Junio typically is the one who\nlatches the Reviewed-by:, Acked-by:, etc. by adding the trailer to the\npatches already in his tree.\n\nInstead of the above, much more useful trailers that a patch author\ncan add are Helped-by: and Reported-by:.\n"},{"id":"492671","messageId":"xmqqo7aiyrxl.fsf@gitster.g","threadId":"61250","inReplyTo":"CAPig+cSw5wsYpm4Szk6HzgT3u+wMVz77NfqR1rLJrmCzejxvmg@mail.gmail.com","subject":"Re: [PATCH v3 5/8] SubmittingPatches: discuss reviewers first","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2024-04-10T00:36:38Z","receivedAt":"2024-04-10T00:36:44Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Eric Sunshine <sunshine@sunshineco.com> writes:\n\n>> +Do not forget to add trailers such as `Acked-by:`, `Reviewed-by:` and\n>> +`Tested-by:` lines as necessary to credit people who helped your\n>> +patch, and \"cc:\" them when sending such a final version for inclusion.\n>\n> Again, not a new problem introduced by this patch, but it seems like\n> all of these are actively wrong. In every case, these trailers are\n> _given_ by reviewers _after_ a series has been submitted (thus, too\n> late for the author to add them), ...\n\nWell, this is another instance that I may be trying to be too\nhelpful and over extending myself, which does not make the process\nscale well (the other one being the \"one final resend after the\nlist reached a consensus\").\n\nIf the authors collect Acks and Reviewed-by's and resend after the\nlist reached the concensus, it may take one extra iteration, but I\nno longer have to keep track of these trailers myself, which could\nbe a big win.\n\nSo, I dunno.\n"},{"id":"492672","messageId":"owlycyqyrpdq.fsf@fine.c.googlers.com","threadId":"61250","inReplyTo":"CAPig+cSw5wsYpm4Szk6HzgT3u+wMVz77NfqR1rLJrmCzejxvmg@mail.gmail.com","subject":"Re: [PATCH v3 5/8] SubmittingPatches: discuss reviewers first","fromName":"Linus Arver","fromEmail":"linusa@google.com","sentAt":"2024-04-10T01:13:37Z","receivedAt":"2024-04-10T01:13:39Z","isPatch":true,"sender":{"key":"linus@ucla.edu","avatar":null},"body":"Eric Sunshine <sunshine@sunshineco.com> writes:\n\n> On Tue, Apr 9, 2024 at 5:57 PM Linus Arver via GitGitGadget\n> <gitgitgadget@gmail.com> wrote:\n>> No matter how well someone configures their email tooling, understanding\n>> who to send the patches to is something that must always be considered.\n>> So discuss it first instead of at the end.\n>>\n>> In the following commit we will clean up the (now redundant) discussion\n>> about sending security patches to the Git Security mailing list.\n>>\n>> Signed-off-by: Linus Arver <linusa@google.com>\n>> ---\n>> diff --git a/Documentation/SubmittingPatches b/Documentation/SubmittingPatches\n>> @@ -397,6 +397,36 @@ letter.\n>> +After the list reached a consensus that it is a good idea to apply the\n>> +patch, re-send it with \"To:\" set to the maintainer{current-maintainer}\n>> +and \"cc:\" the list{git-ml} for inclusion.  This is especially relevant\n>> +when the maintainer did not heavily participate in the discussion and\n>> +instead left the review to trusted others.\n>\n> This isn't a new problem since you're merely relocating this text\n> (thus, very likely may be outside the scope of this series), but is\n> this recommendation still accurate?\n\nI don't have much history on this list to know one way or the other, but\nit would certainly help to double-check all of the advice contained in\nhere for accuracy. \n\nI also think that we need to add some more structure to the\nSubmittingPatches doc. It is currently pretty long and could use some\nhelp in being broken up a bit more. \n\nOne thing I noticed while drafting this series was that we don't really\nseparate minutiae from what is _really_ important. For example even the\nadvice around adding \"Acked-by:\" and other trailers --- is it really\ncritical? Other than the \"Signed-off-by: \" of the patch author (required\nfor legal reasons), it's not the end of the world if someone forgot to\nadd a \"Reviewed-by: \". We should do a better job of separating\nabsolutely critical things that must be done correctly to ensure smooth\nfunction of the review process, from the rest that are not so important.\n"},{"id":"492750","messageId":"20240411001922.67800-1-kipras@kipras.org","threadId":"61250","inReplyTo":"4fcab0d3319fa47c2f4126139ca636d6848e9e3d.1712699815.git.gitgitgadget@gmail.com","subject":"Re: [PATCH v3 8/8] SubmittingPatches: demonstrate using git-contacts with git-send-email","fromName":"Kipras Melnikovas","fromEmail":"kipras@kipras.org","sentAt":"2024-04-11T00:19:22Z","receivedAt":"2024-04-11T00:19:43Z","isPatch":true,"sender":{"key":"kipras@kipras.org","avatar":"https://avatars.githubusercontent.com/u/29430509?v=4"},"body":"I don't think `git contacts` is available by default?\n\n...\n$ git contacts\ngit: 'contacts' is not a git command. See 'git --help'.\n...\n\n...\n$ git send-email --to=kipras@kipras.org --cc-cmd='git contacts' 0001-TEMP.patch\n0001-TEMP.patch\ngit: 'contacts' is not a git command. See 'git --help'.\n(cc-cmd) failed to close pipe to 'git contacts' at /opt/homebrew/opt/git/libexec/git-core/git-send-email line 2021.\n...\n\n"},{"id":"492804","messageId":"owly8r1jsjby.fsf@fine.c.googlers.com","threadId":"61250","inReplyTo":"20240411001922.67800-1-kipras@kipras.org","subject":"Re: [PATCH v3 8/8] SubmittingPatches: demonstrate using git-contacts with git-send-email","fromName":"Linus Arver","fromEmail":"linusa@google.com","sentAt":"2024-04-11T21:03:29Z","receivedAt":"2024-04-11T21:03:31Z","isPatch":true,"sender":{"key":"linus@ucla.edu","avatar":null},"body":"Kipras Melnikovas <kipras@kipras.org> writes:\n\n> I don't think `git contacts` is available by default?\n\nCorrect. It's a Perl script that lives under contrib/ in the git repo\n(it's not part of the core set of default Git subcommands that the \"git\"\nbinary is built with). On Ubuntu it lives under\n/usr/share/doc/git/contrib/contacts/git-contacts [1].\n\n[1] https://packages.ubuntu.com/focal/amd64/git/filelist\n\nI could add a blurb about this to avoid confusion. Will update.\n\n> ...\n> $ git contacts\n> git: 'contacts' is not a git command. See 'git --help'.\n> ...\n>\n> ...\n> $ git send-email --to=kipras@kipras.org --cc-cmd='git contacts' 0001-TEMP.patch\n> 0001-TEMP.patch\n> git: 'contacts' is not a git command. See 'git --help'.\n> (cc-cmd) failed to close pipe to 'git contacts' at /opt/homebrew/opt/git/libexec/git-core/git-send-email line 2021.\n> ...\n"},{"id":"492812","messageId":"owly5xwnse7x.fsf@fine.c.googlers.com","threadId":"61250","inReplyTo":"owlyfrvurtl6.fsf@fine.c.googlers.com","subject":"Re: [PATCH v3 1/8] MyFirstContribution: mention contrib/contacts/git-contacts","fromName":"Linus Arver","fromEmail":"linusa@google.com","sentAt":"2024-04-11T22:53:54Z","receivedAt":"2024-04-11T22:53:56Z","isPatch":true,"sender":{"key":"linus@ucla.edu","avatar":null},"body":"Linus Arver <linusa@google.com> writes:\n\n> Junio C Hamano <gitster@pobox.com> writes:\n> [...]\n>> For now, I inserted this extra commit between [1/8] and [2/8].\n>> Thanks.\n>>\n>> diff --git a/Documentation/MyFirstContribution.txt b/Documentation/MyFirstContribution.txt\n>> index 00f4c63cb9..bb7e4174e8 100644\n>> --- a/Documentation/MyFirstContribution.txt\n>> +++ b/Documentation/MyFirstContribution.txt\n>> @@ -1116,8 +1116,8 @@ $ git send-email --to=target@example.com psuh/*.patch\n>>  NOTE: Check `git help send-email` for some other options which you may find\n>>  valuable, such as changing the Reply-to address or adding more CC and BCC lines.\n>>  \n>> -NOTE: If you're not sure who to CC, use `contrib/contacts/git-contacts` to get a\n>> -list of reviewers you should include in the CC list. In addition, you can do\n>> +NOTE: If you're not sure whom to CC, running `contrib/contacts/git-contacts`\n>> +can list potential reviewers to put on the CC list. In addition, you can do\n>\n> Nice. I think you can also remove the trailing \"to put on the CC list\"\n> clause because it's somewehat redundant.\n\nI will incorporate this into the next reroll.\n"},{"id":"492815","messageId":"ad469e4e6dbea1230b5e8670180f6ecc933bb6c0.1712878339.git.gitgitgadget@gmail.com","threadId":"61250","inReplyTo":"pull.1704.v4.git.1712878339.gitgitgadget@gmail.com","subject":"[PATCH v4 1/8] MyFirstContribution: mention contrib/contacts/git-contacts","fromName":"Linus Arver via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2024-04-11T23:32:12Z","receivedAt":"2024-04-11T23:32:23Z","isPatch":true,"sender":{"key":"linus@ucla.edu","avatar":null},"body":"From: Linus Arver <linusa@google.com>\n\nAlthough we've had this script since 4d06402b1b (contrib: add\ngit-contacts helper, 2013-07-21), we don't mention it in our\nintroductory docs. Do so now.\n\nHelped-by: Junio C Hamano <gitster@pobox.com>\nSigned-off-by: Linus Arver <linusa@google.com>\n---\n Documentation/MyFirstContribution.txt | 12 ++++++++++++\n 1 file changed, 12 insertions(+)\n\ndiff --git a/Documentation/MyFirstContribution.txt b/Documentation/MyFirstContribution.txt\nindex f06563e9817..de60b3a4fa1 100644\n--- a/Documentation/MyFirstContribution.txt\n+++ b/Documentation/MyFirstContribution.txt\n@@ -1116,6 +1116,18 @@ $ git send-email --to=target@example.com psuh/*.patch\n NOTE: Check `git help send-email` for some other options which you may find\n valuable, such as changing the Reply-to address or adding more CC and BCC lines.\n \n+:contrib-scripts: footnoteref:[contrib-scripts,Scripts under `contrib/` are not +\n+part of the core `git` binary and must be called separately. Consult your +\n+package manager to determine where it is located. For example&#44; on Ubuntu-based +\n+systems it could be installed under +\n+`/usr/share/doc/git/contrib/contacts/git-contacts` and may need to be called +\n+with `perl ...` if it does not have the executable bit set.]\n+\n+NOTE: If you're not sure whom to CC, running `contrib/contacts/git-contacts` can\n+list potential reviewers. In addition, you can do `git send-email\n+--cc-cmd='/path/to/git-contacts' feature/*.patch`{contrib-scripts} to\n+automatically pass this list of emails to `send-email`.\n+\n NOTE: When you are sending a real patch, it will go to git@vger.kernel.org - but\n please don't send your patchset from the tutorial to the real mailing list! For\n now, you can send it to yourself, to make sure you understand how it will look.\n-- \ngitgitgadget\n\n"},{"id":"492816","messageId":"pull.1704.v4.git.1712878339.gitgitgadget@gmail.com","threadId":"61250","inReplyTo":"pull.1704.v3.git.1712699815.gitgitgadget@gmail.com","subject":"[PATCH v4 0/8] docs: recommend using contrib/contacts/git-contacts","fromName":"Linus Arver via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2024-04-11T23:32:11Z","receivedAt":"2024-04-11T23:32:23Z","isPatch":true,"sender":{"key":"linus@ucla.edu","avatar":null},"body":"Make git-contacts more prominent in our docs.\n\n\nNotable changes in v4\n=====================\n\n * Avoid using \"should\" for guidance around using \"git-contacts\"\n * Clarify where to find the \"git-contacts\" script (because it's not a\n   default builtin command)\n\n\nNotable changes in v3\n=====================\n\n * Refer to GitGitGadget via a link to MyFirstContribution (instead of\n   sending readers to GGG's homepage directly)\n * Soften the advice for using git-contacts\n\n\nNotable changes in v2\n=====================\n\n * Improve existing mention of git-contacts in SubmittingPatches (instead of\n   adding a separate, entirely new paragraph)\n * Add example usage of integrating git-contacts with git-send-email with\n   the latter's --cc-cmd flag.\n * Various smaller fixes to SubmittingPatches\n\nLinus Arver (8):\n  MyFirstContribution: mention contrib/contacts/git-contacts\n  SubmittingPatches: clarify 'git-contacts' location\n  SubmittingPatches: mention GitGitGadget\n  SubmittingPatches: quote commands\n  SubmittingPatches: discuss reviewers first\n  SubmittingPatches: dedupe discussion of security patches\n  SubmittingPatches: add heading for format-patch and send-email\n  SubmittingPatches: demonstrate using git-contacts with git-send-email\n\n Documentation/MyFirstContribution.txt | 12 +++++\n Documentation/SubmittingPatches       | 75 ++++++++++++++++-----------\n 2 files changed, 57 insertions(+), 30 deletions(-)\n\n\nbase-commit: c2cbfbd2e28cbe27c194d62183b42f27a6a5bb87\nPublished-As: https://github.com/gitgitgadget/git/releases/tag/pr-1704%2Flistx%2Freviewers-v4\nFetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-1704/listx/reviewers-v4\nPull-Request: https://github.com/gitgitgadget/git/pull/1704\n\nRange-diff vs v3:\n\n 1:  1f65dc5ba3d ! 1:  ad469e4e6db MyFirstContribution: mention contrib/contacts/git-contacts\n     @@ Commit message\n          git-contacts helper, 2013-07-21), we don't mention it in our\n          introductory docs. Do so now.\n      \n     +    Helped-by: Junio C Hamano <gitster@pobox.com>\n          Signed-off-by: Linus Arver <linusa@google.com>\n      \n       ## Documentation/MyFirstContribution.txt ##\n     @@ Documentation/MyFirstContribution.txt: $ git send-email --to=target@example.com\n       NOTE: Check `git help send-email` for some other options which you may find\n       valuable, such as changing the Reply-to address or adding more CC and BCC lines.\n       \n     -+NOTE: If you're not sure who to CC, use `contrib/contacts/git-contacts` to get a\n     -+list of reviewers you should include in the CC list. In addition, you can do\n     -+`git send-email --cc-cmd='git contacts' feature/*.patch` to automatically pass\n     -+this list of emails to `send-email`.\n     ++:contrib-scripts: footnoteref:[contrib-scripts,Scripts under `contrib/` are not +\n     ++part of the core `git` binary and must be called separately. Consult your +\n     ++package manager to determine where it is located. For example&#44; on Ubuntu-based +\n     ++systems it could be installed under +\n     ++`/usr/share/doc/git/contrib/contacts/git-contacts` and may need to be called +\n     ++with `perl ...` if it does not have the executable bit set.]\n     ++\n     ++NOTE: If you're not sure whom to CC, running `contrib/contacts/git-contacts` can\n     ++list potential reviewers. In addition, you can do `git send-email\n     ++--cc-cmd='/path/to/git-contacts' feature/*.patch`{contrib-scripts} to\n     ++automatically pass this list of emails to `send-email`.\n      +\n       NOTE: When you are sending a real patch, it will go to git@vger.kernel.org - but\n       please don't send your patchset from the tutorial to the real mailing list! For\n 2:  6e8b1b50ac5 ! 2:  c43de19d867 SubmittingPatches: make 'git contacts' grep-friendly\n     @@ Metadata\n      Author: Linus Arver <linusa@google.com>\n      \n       ## Commit message ##\n     -    SubmittingPatches: make 'git contacts' grep-friendly\n     +    SubmittingPatches: clarify 'git-contacts' location\n      \n     -    Avoid splitting up the command over two lines. This way, a command like\n     +    Use a dash (\"git-contacts\", not \"git contacts\") because the script\n     +    is not a core builtin command that is compiled into the `git` binary.\n     +    This also puts the script on one line, which should make it easier to\n     +    grep for with a loose search query, such as\n      \n              $ git grep git.contacts Documentation\n      \n     -    will return a positive hit for this location.\n     +    . Also add a footnote to describe where the script could actually be\n     +    located, to help readers who may not be familiar with such \"contrib\"\n     +    scripts (and how they are not accessible with the usual \"git\n     +    <subcommand>\" syntax).\n      \n          Signed-off-by: Linus Arver <linusa@google.com>\n      \n       ## Documentation/SubmittingPatches ##\n     -@@ Documentation/SubmittingPatches: mentioned below, but should instead be sent privately to the Git\n     +@@ Documentation/SubmittingPatches: security relevant should not be submitted to the public mailing list\n     + mentioned below, but should instead be sent privately to the Git\n       Security mailing list{security-ml-ref}.\n       \n     ++:contrib-scripts: footnoteref:[contrib-scripts,Scripts under `contrib/` are not +\n     ++part of the core `git` binary and must be called separately. Consult your +\n     ++package manager to determine where it is located. For example&#44; on Ubuntu-based +\n     ++systems it could be installed under +\n     ++`/usr/share/doc/git/contrib/contacts/git-contacts` and may need to be called +\n     ++with `perl ...` if it does not have the executable bit set.]\n     ++\n       Send your patch with \"To:\" set to the mailing list, with \"cc:\" listing\n      -people who are involved in the area you are touching (the `git\n      -contacts` command in `contrib/contacts/` can help to\n     -+people who are involved in the area you are touching (the `git contacts`\n     -+command in `contrib/contacts/` can help to\n     ++people who are involved in the area you are touching (the `git-contacts`\n     ++script in `contrib/contacts/`{contrib-scripts} can help to\n       identify them), to solicit comments and reviews.  Also, when you made\n       trial merges of your topic to `next` and `seen`, you may have noticed\n       work by others conflicting with your changes.  There is a good possibility\n 3:  7f8fdc053f7 = 3:  cd941704176 SubmittingPatches: mention GitGitGadget\n 4:  ef26bdb75c5 = 4:  44470a5d70e SubmittingPatches: quote commands\n 5:  6f71b1731f2 ! 5:  15f9356ff97 SubmittingPatches: discuss reviewers first\n     @@ Documentation/SubmittingPatches: letter.\n      +mentioned below, but should instead be sent privately to the Git\n      +Security mailing list{security-ml-ref}.\n      +\n     ++:contrib-scripts: footnoteref:[contrib-scripts,Scripts under `contrib/` are not +\n     ++part of the core `git` binary and must be called separately. Consult your +\n     ++package manager to determine where it is located. For example&#44; on Ubuntu-based +\n     ++systems it could be installed under +\n     ++`/usr/share/doc/git/contrib/contacts/git-contacts` and may need to be called +\n     ++with `perl ...` if it does not have the executable bit set.]\n     ++\n      +Send your patch with \"To:\" set to the mailing list, with \"cc:\" listing\n     -+people who are involved in the area you are touching (the `git contacts`\n     -+command in `contrib/contacts/` can help to\n     ++people who are involved in the area you are touching (the `git-contacts`\n     ++script in `contrib/contacts/`{contrib-scripts} can help to\n      +identify them), to solicit comments and reviews.  Also, when you made\n      +trial merges of your topic to `next` and `seen`, you may have noticed\n      +work by others conflicting with your changes.  There is a good possibility\n     @@ Documentation/SubmittingPatches: patch, format it as \"multipart/signed\", not a t\n      -mentioned below, but should instead be sent privately to the Git\n      -Security mailing list{security-ml-ref}.\n      -\n     +-:contrib-scripts: footnoteref:[contrib-scripts,Scripts under `contrib/` are not +\n     +-part of the core `git` binary and must be called separately. Consult your +\n     +-package manager to determine where it is located. For example&#44; on Ubuntu-based +\n     +-systems it could be installed under +\n     +-`/usr/share/doc/git/contrib/contacts/git-contacts` and may need to be called +\n     +-with `perl ...` if it does not have the executable bit set.]\n     +-\n      -Send your patch with \"To:\" set to the mailing list, with \"cc:\" listing\n     --people who are involved in the area you are touching (the `git contacts`\n     --command in `contrib/contacts/` can help to\n     +-people who are involved in the area you are touching (the `git-contacts`\n     +-script in `contrib/contacts/`{contrib-scripts} can help to\n      -identify them), to solicit comments and reviews.  Also, when you made\n      -trial merges of your topic to `next` and `seen`, you may have noticed\n      -work by others conflicting with your changes.  There is a good possibility\n 6:  f5e44f69941 ! 6:  e889e64bd45 SubmittingPatches: dedupe discussion of security patches\n     @@ Documentation/SubmittingPatches: letter.\n      +security relevant should be submitted privately to the Git Security\n      +mailing list{security-ml}, instead of the public mailing list.\n       \n     - Send your patch with \"To:\" set to the mailing list, with \"cc:\" listing\n     - people who are involved in the area you are touching (the `git contacts`\n     + :contrib-scripts: footnoteref:[contrib-scripts,Scripts under `contrib/` are not +\n     + part of the core `git` binary and must be called separately. Consult your +\n      @@ Documentation/SubmittingPatches: Do not forget to add trailers such as `Acked-by:`, `Reviewed-by:` and\n       `Tested-by:` lines as necessary to credit people who helped your\n       patch, and \"cc:\" them when sending such a final version for inclusion.\n 7:  e64fc5c888a = 7:  81556298599 SubmittingPatches: add heading for format-patch and send-email\n 8:  4fcab0d3319 = 8:  84b1cf3f914 SubmittingPatches: demonstrate using git-contacts with git-send-email\n\n-- \ngitgitgadget\n"},{"id":"492817","messageId":"c43de19d867cb5e63fe6689b2b7d645dc4741950.1712878339.git.gitgitgadget@gmail.com","threadId":"61250","inReplyTo":"pull.1704.v4.git.1712878339.gitgitgadget@gmail.com","subject":"[PATCH v4 2/8] SubmittingPatches: clarify 'git-contacts' location","fromName":"Linus Arver via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2024-04-11T23:32:13Z","receivedAt":"2024-04-11T23:32:24Z","isPatch":true,"sender":{"key":"linus@ucla.edu","avatar":null},"body":"From: Linus Arver <linusa@google.com>\n\nUse a dash (\"git-contacts\", not \"git contacts\") because the script\nis not a core builtin command that is compiled into the `git` binary.\nThis also puts the script on one line, which should make it easier to\ngrep for with a loose search query, such as\n\n    $ git grep git.contacts Documentation\n\n. Also add a footnote to describe where the script could actually be\nlocated, to help readers who may not be familiar with such \"contrib\"\nscripts (and how they are not accessible with the usual \"git\n<subcommand>\" syntax).\n\nSigned-off-by: Linus Arver <linusa@google.com>\n---\n Documentation/SubmittingPatches | 11 +++++++++--\n 1 file changed, 9 insertions(+), 2 deletions(-)\n\ndiff --git a/Documentation/SubmittingPatches b/Documentation/SubmittingPatches\nindex e734a3f0f17..8b6e4bf0300 100644\n--- a/Documentation/SubmittingPatches\n+++ b/Documentation/SubmittingPatches\n@@ -493,9 +493,16 @@ security relevant should not be submitted to the public mailing list\n mentioned below, but should instead be sent privately to the Git\n Security mailing list{security-ml-ref}.\n \n+:contrib-scripts: footnoteref:[contrib-scripts,Scripts under `contrib/` are not +\n+part of the core `git` binary and must be called separately. Consult your +\n+package manager to determine where it is located. For example&#44; on Ubuntu-based +\n+systems it could be installed under +\n+`/usr/share/doc/git/contrib/contacts/git-contacts` and may need to be called +\n+with `perl ...` if it does not have the executable bit set.]\n+\n Send your patch with \"To:\" set to the mailing list, with \"cc:\" listing\n-people who are involved in the area you are touching (the `git\n-contacts` command in `contrib/contacts/` can help to\n+people who are involved in the area you are touching (the `git-contacts`\n+script in `contrib/contacts/`{contrib-scripts} can help to\n identify them), to solicit comments and reviews.  Also, when you made\n trial merges of your topic to `next` and `seen`, you may have noticed\n work by others conflicting with your changes.  There is a good possibility\n-- \ngitgitgadget\n\n"},{"id":"492818","messageId":"cd941704176f66d3c98f717beb65a2ce276a129c.1712878339.git.gitgitgadget@gmail.com","threadId":"61250","inReplyTo":"pull.1704.v4.git.1712878339.gitgitgadget@gmail.com","subject":"[PATCH v4 3/8] SubmittingPatches: mention GitGitGadget","fromName":"Linus Arver via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2024-04-11T23:32:14Z","receivedAt":"2024-04-11T23:32:25Z","isPatch":true,"sender":{"key":"linus@ucla.edu","avatar":null},"body":"From: Linus Arver <linusa@google.com>\n\nSigned-off-by: Linus Arver <linusa@google.com>\n---\n Documentation/SubmittingPatches | 4 ++++\n 1 file changed, 4 insertions(+)\n\ndiff --git a/Documentation/SubmittingPatches b/Documentation/SubmittingPatches\nindex 8b6e4bf0300..2226c09e6c5 100644\n--- a/Documentation/SubmittingPatches\n+++ b/Documentation/SubmittingPatches\n@@ -408,6 +408,10 @@ are optimized for the workflow of sending patches, avoiding many ways\n your existing e-mail client (often optimized for \"multipart/*\" MIME\n type e-mails) might render your patches unusable.\n \n+NOTE: Here we outline the procedure using `format-patch` and\n+`send-email`, but you can instead use GitGitGadget to send in your\n+patches (see link:MyFirstContribution.html[MyFirstContribution]).\n+\n People on the Git mailing list need to be able to read and\n comment on the changes you are submitting.  It is important for\n a developer to be able to \"quote\" your changes, using standard\n-- \ngitgitgadget\n\n"},{"id":"492819","messageId":"44470a5d70edb60bd4f573f6b214e7ff5cbb4c05.1712878339.git.gitgitgadget@gmail.com","threadId":"61250","inReplyTo":"pull.1704.v4.git.1712878339.gitgitgadget@gmail.com","subject":"[PATCH v4 4/8] SubmittingPatches: quote commands","fromName":"Linus Arver via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2024-04-11T23:32:15Z","receivedAt":"2024-04-11T23:32:26Z","isPatch":true,"sender":{"key":"linus@ucla.edu","avatar":null},"body":"From: Linus Arver <linusa@google.com>\n\nSigned-off-by: Linus Arver <linusa@google.com>\n---\n Documentation/SubmittingPatches | 2 +-\n 1 file changed, 1 insertion(+), 1 deletion(-)\n\ndiff --git a/Documentation/SubmittingPatches b/Documentation/SubmittingPatches\nindex 2226c09e6c5..f1c0d1483bd 100644\n--- a/Documentation/SubmittingPatches\n+++ b/Documentation/SubmittingPatches\n@@ -403,7 +403,7 @@ Before sending any patches, please note that patches that may be\n security relevant should be submitted privately to the Git Security\n mailing list{security-ml}, instead of the public mailing list.\n \n-Learn to use format-patch and send-email if possible.  These commands\n+Learn to use `format-patch` and `send-email` if possible.  These commands\n are optimized for the workflow of sending patches, avoiding many ways\n your existing e-mail client (often optimized for \"multipart/*\" MIME\n type e-mails) might render your patches unusable.\n-- \ngitgitgadget\n\n"},{"id":"492820","messageId":"15f9356ff97a428a73226a5ed36bcafff9f00875.1712878339.git.gitgitgadget@gmail.com","threadId":"61250","inReplyTo":"pull.1704.v4.git.1712878339.gitgitgadget@gmail.com","subject":"[PATCH v4 5/8] SubmittingPatches: discuss reviewers first","fromName":"Linus Arver via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2024-04-11T23:32:16Z","receivedAt":"2024-04-11T23:32:28Z","isPatch":true,"sender":{"key":"linus@ucla.edu","avatar":null},"body":"From: Linus Arver <linusa@google.com>\n\nNo matter how well someone configures their email tooling, understanding\nwho to send the patches to is something that must always be considered.\nSo discuss it first instead of at the end.\n\nIn the following commit we will clean up the (now redundant) discussion\nabout sending security patches to the Git Security mailing list.\n\nSigned-off-by: Linus Arver <linusa@google.com>\n---\n Documentation/SubmittingPatches | 72 +++++++++++++++++----------------\n 1 file changed, 37 insertions(+), 35 deletions(-)\n\ndiff --git a/Documentation/SubmittingPatches b/Documentation/SubmittingPatches\nindex f1c0d1483bd..8805579a36e 100644\n--- a/Documentation/SubmittingPatches\n+++ b/Documentation/SubmittingPatches\n@@ -397,6 +397,43 @@ letter.\n [[send-patches]]\n === Sending your patches.\n \n+==== Choosing your reviewers\n+\n+:security-ml-ref: footnoteref:[security-ml]\n+\n+As mentioned at the beginning of the section, patches that may be\n+security relevant should not be submitted to the public mailing list\n+mentioned below, but should instead be sent privately to the Git\n+Security mailing list{security-ml-ref}.\n+\n+:contrib-scripts: footnoteref:[contrib-scripts,Scripts under `contrib/` are not +\n+part of the core `git` binary and must be called separately. Consult your +\n+package manager to determine where it is located. For example&#44; on Ubuntu-based +\n+systems it could be installed under +\n+`/usr/share/doc/git/contrib/contacts/git-contacts` and may need to be called +\n+with `perl ...` if it does not have the executable bit set.]\n+\n+Send your patch with \"To:\" set to the mailing list, with \"cc:\" listing\n+people who are involved in the area you are touching (the `git-contacts`\n+script in `contrib/contacts/`{contrib-scripts} can help to\n+identify them), to solicit comments and reviews.  Also, when you made\n+trial merges of your topic to `next` and `seen`, you may have noticed\n+work by others conflicting with your changes.  There is a good possibility\n+that these people may know the area you are touching well.\n+\n+:current-maintainer: footnote:[The current maintainer: gitster@pobox.com]\n+:git-ml: footnote:[The mailing list: git@vger.kernel.org]\n+\n+After the list reached a consensus that it is a good idea to apply the\n+patch, re-send it with \"To:\" set to the maintainer{current-maintainer}\n+and \"cc:\" the list{git-ml} for inclusion.  This is especially relevant\n+when the maintainer did not heavily participate in the discussion and\n+instead left the review to trusted others.\n+\n+Do not forget to add trailers such as `Acked-by:`, `Reviewed-by:` and\n+`Tested-by:` lines as necessary to credit people who helped your\n+patch, and \"cc:\" them when sending such a final version for inclusion.\n+\n :security-ml: footnoteref:[security-ml,The Git Security mailing list: git-security@googlegroups.com]\n \n Before sending any patches, please note that patches that may be\n@@ -490,41 +527,6 @@ patch, format it as \"multipart/signed\", not a text/plain message\n that starts with `-----BEGIN PGP SIGNED MESSAGE-----`.  That is\n not a text/plain, it's something else.\n \n-:security-ml-ref: footnoteref:[security-ml]\n-\n-As mentioned at the beginning of the section, patches that may be\n-security relevant should not be submitted to the public mailing list\n-mentioned below, but should instead be sent privately to the Git\n-Security mailing list{security-ml-ref}.\n-\n-:contrib-scripts: footnoteref:[contrib-scripts,Scripts under `contrib/` are not +\n-part of the core `git` binary and must be called separately. Consult your +\n-package manager to determine where it is located. For example&#44; on Ubuntu-based +\n-systems it could be installed under +\n-`/usr/share/doc/git/contrib/contacts/git-contacts` and may need to be called +\n-with `perl ...` if it does not have the executable bit set.]\n-\n-Send your patch with \"To:\" set to the mailing list, with \"cc:\" listing\n-people who are involved in the area you are touching (the `git-contacts`\n-script in `contrib/contacts/`{contrib-scripts} can help to\n-identify them), to solicit comments and reviews.  Also, when you made\n-trial merges of your topic to `next` and `seen`, you may have noticed\n-work by others conflicting with your changes.  There is a good possibility\n-that these people may know the area you are touching well.\n-\n-:current-maintainer: footnote:[The current maintainer: gitster@pobox.com]\n-:git-ml: footnote:[The mailing list: git@vger.kernel.org]\n-\n-After the list reached a consensus that it is a good idea to apply the\n-patch, re-send it with \"To:\" set to the maintainer{current-maintainer}\n-and \"cc:\" the list{git-ml} for inclusion.  This is especially relevant\n-when the maintainer did not heavily participate in the discussion and\n-instead left the review to trusted others.\n-\n-Do not forget to add trailers such as `Acked-by:`, `Reviewed-by:` and\n-`Tested-by:` lines as necessary to credit people who helped your\n-patch, and \"cc:\" them when sending such a final version for inclusion.\n-\n == Subsystems with dedicated maintainers\n \n Some parts of the system have dedicated maintainers with their own\n-- \ngitgitgadget\n\n"},{"id":"492821","messageId":"e889e64bd45f43c1a18fb121ebbef1f2b82fe2de.1712878339.git.gitgitgadget@gmail.com","threadId":"61250","inReplyTo":"pull.1704.v4.git.1712878339.gitgitgadget@gmail.com","subject":"[PATCH v4 6/8] SubmittingPatches: dedupe discussion of security patches","fromName":"Linus Arver via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2024-04-11T23:32:17Z","receivedAt":"2024-04-11T23:32:29Z","isPatch":true,"sender":{"key":"linus@ucla.edu","avatar":null},"body":"From: Linus Arver <linusa@google.com>\n\nSigned-off-by: Linus Arver <linusa@google.com>\n---\n Documentation/SubmittingPatches | 15 ++++-----------\n 1 file changed, 4 insertions(+), 11 deletions(-)\n\ndiff --git a/Documentation/SubmittingPatches b/Documentation/SubmittingPatches\nindex 8805579a36e..ecc1622c8bf 100644\n--- a/Documentation/SubmittingPatches\n+++ b/Documentation/SubmittingPatches\n@@ -399,12 +399,11 @@ letter.\n \n ==== Choosing your reviewers\n \n-:security-ml-ref: footnoteref:[security-ml]\n+:security-ml: footnoteref:[security-ml,The Git Security mailing list: git-security@googlegroups.com]\n \n-As mentioned at the beginning of the section, patches that may be\n-security relevant should not be submitted to the public mailing list\n-mentioned below, but should instead be sent privately to the Git\n-Security mailing list{security-ml-ref}.\n+NOTE: Patches that may be\n+security relevant should be submitted privately to the Git Security\n+mailing list{security-ml}, instead of the public mailing list.\n \n :contrib-scripts: footnoteref:[contrib-scripts,Scripts under `contrib/` are not +\n part of the core `git` binary and must be called separately. Consult your +\n@@ -434,12 +433,6 @@ Do not forget to add trailers such as `Acked-by:`, `Reviewed-by:` and\n `Tested-by:` lines as necessary to credit people who helped your\n patch, and \"cc:\" them when sending such a final version for inclusion.\n \n-:security-ml: footnoteref:[security-ml,The Git Security mailing list: git-security@googlegroups.com]\n-\n-Before sending any patches, please note that patches that may be\n-security relevant should be submitted privately to the Git Security\n-mailing list{security-ml}, instead of the public mailing list.\n-\n Learn to use `format-patch` and `send-email` if possible.  These commands\n are optimized for the workflow of sending patches, avoiding many ways\n your existing e-mail client (often optimized for \"multipart/*\" MIME\n-- \ngitgitgadget\n\n"},{"id":"492822","messageId":"81556298599ffa77ba6bb1304d19afb2b4df079f.1712878339.git.gitgitgadget@gmail.com","threadId":"61250","inReplyTo":"pull.1704.v4.git.1712878339.gitgitgadget@gmail.com","subject":"[PATCH v4 7/8] SubmittingPatches: add heading for format-patch and send-email","fromName":"Linus Arver via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2024-04-11T23:32:18Z","receivedAt":"2024-04-11T23:32:30Z","isPatch":true,"sender":{"key":"linus@ucla.edu","avatar":null},"body":"From: Linus Arver <linusa@google.com>\n\nSigned-off-by: Linus Arver <linusa@google.com>\n---\n Documentation/SubmittingPatches | 2 ++\n 1 file changed, 2 insertions(+)\n\ndiff --git a/Documentation/SubmittingPatches b/Documentation/SubmittingPatches\nindex ecc1622c8bf..fd40a444f95 100644\n--- a/Documentation/SubmittingPatches\n+++ b/Documentation/SubmittingPatches\n@@ -433,6 +433,8 @@ Do not forget to add trailers such as `Acked-by:`, `Reviewed-by:` and\n `Tested-by:` lines as necessary to credit people who helped your\n patch, and \"cc:\" them when sending such a final version for inclusion.\n \n+==== `format-patch` and `send-email`\n+\n Learn to use `format-patch` and `send-email` if possible.  These commands\n are optimized for the workflow of sending patches, avoiding many ways\n your existing e-mail client (often optimized for \"multipart/*\" MIME\n-- \ngitgitgadget\n\n"},{"id":"492823","messageId":"84b1cf3f914067f8c2d056578e58d5b38bef7b45.1712878339.git.gitgitgadget@gmail.com","threadId":"61250","inReplyTo":"pull.1704.v4.git.1712878339.gitgitgadget@gmail.com","subject":"[PATCH v4 8/8] SubmittingPatches: demonstrate using git-contacts with git-send-email","fromName":"Linus Arver via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2024-04-11T23:32:19Z","receivedAt":"2024-04-11T23:32:31Z","isPatch":true,"sender":{"key":"linus@ucla.edu","avatar":null},"body":"From: Linus Arver <linusa@google.com>\n\nSigned-off-by: Linus Arver <linusa@google.com>\n---\n Documentation/SubmittingPatches | 7 +++++++\n 1 file changed, 7 insertions(+)\n\ndiff --git a/Documentation/SubmittingPatches b/Documentation/SubmittingPatches\nindex fd40a444f95..eac086133bc 100644\n--- a/Documentation/SubmittingPatches\n+++ b/Documentation/SubmittingPatches\n@@ -420,6 +420,13 @@ trial merges of your topic to `next` and `seen`, you may have noticed\n work by others conflicting with your changes.  There is a good possibility\n that these people may know the area you are touching well.\n \n+If you are using `send-email`, you can feed it the output of `git contacts` like\n+this:\n+\n+....\n+\tgit send-email --cc-cmd='git contacts' feature/*.patch\n+....\n+\n :current-maintainer: footnote:[The current maintainer: gitster@pobox.com]\n :git-ml: footnote:[The mailing list: git@vger.kernel.org]\n \n-- \ngitgitgadget\n"},{"id":"492854","messageId":"20240412084843.87197-2-kipras@kipras.org","threadId":"61250","inReplyTo":"owly8r1jsjby.fsf@fine.c.googlers.com","subject":"Re: [PATCH v3 8/8] SubmittingPatches: demonstrate using git-contacts with git-send-email","fromName":"Kipras Melnikovas","fromEmail":"kipras@kipras.org","sentAt":"2024-04-12T08:48:44Z","receivedAt":"2024-04-12T08:48:56Z","isPatch":true,"sender":{"key":"kipras@kipras.org","avatar":"https://avatars.githubusercontent.com/u/29430509?v=4"},"body":">> I don't think `git contacts` is available by default?\n\n> I could add a blurb about this to avoid confusion. Will update.\n\nThanks, v4 looks good to me.\n\n"},{"id":"492880","messageId":"xmqqsezqmrtd.fsf@gitster.g","threadId":"61250","inReplyTo":"c43de19d867cb5e63fe6689b2b7d645dc4741950.1712878339.git.gitgitgadget@gmail.com","subject":"Re: [PATCH v4 2/8] SubmittingPatches: clarify 'git-contacts' location","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2024-04-12T17:09:02Z","receivedAt":"2024-04-12T17:09:06Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"\"Linus Arver via GitGitGadget\" <gitgitgadget@gmail.com> writes:\n\n> From: Linus Arver <linusa@google.com>\n>\n> Use a dash (\"git-contacts\", not \"git contacts\") because the script\n> is not a core builtin command that is compiled into the `git` binary.\n\nPedantic, but \"git mergetool\" is how it is spelled even though it is\nnot a core builtin command and is not compiled into the binary.  The\nreason why \"git-contacts\" is better is because we do not install it\nto be usable by user's \"git\".\n\n    ... because the script is not installed as part of \"git\"\n    toolset.\n\nAn obvious alternative of course is to promote \"contacts\" out of\n\"contrib/\" and install it as part of the standard toolset.  I gave a\nbrief scan of the script and did not find anything (other than \"only\nthe recent 5 years worth of history matters\") that is too specific\nto our project and I suspect it should do a reasonable job when run\nin any repository/working tree of a git-managed project.\n\nBut it is outside the scope of this series.  I'd still welcome the\nthought to do that after the dust settles, though.\n\n> This also puts the script on one line, which should make it easier to\n> grep for with a loose search query, such as\n>\n>     $ git grep git.contacts Documentation\n>\n> . Also add a footnote to describe where the script could actually be\n\nLet's drop \". \"; it may leave the previous sentence appear hanging\nunterminated, but the capital A that begins a new sentence is a good\nenough sign that we finished the previous sentence, isn't it?\n\n> diff --git a/Documentation/SubmittingPatches b/Documentation/SubmittingPatches\n> index e734a3f0f17..8b6e4bf0300 100644\n> --- a/Documentation/SubmittingPatches\n> +++ b/Documentation/SubmittingPatches\n> @@ -493,9 +493,16 @@ security relevant should not be submitted to the public mailing list\n>  mentioned below, but should instead be sent privately to the Git\n>  Security mailing list{security-ml-ref}.\n>  \n> +:contrib-scripts: footnoteref:[contrib-scripts,Scripts under `contrib/` are not +\n> +part of the core `git` binary and must be called separately. Consult your +\n> +package manager to determine where it is located. For example&#44; on Ubuntu-based +\n> +systems it could be installed under +\n> +`/usr/share/doc/git/contrib/contacts/git-contacts` and may need to be called +\n> +with `perl ...` if it does not have the executable bit set.]\n\nI wouldn't call anything in /usr/share/doc/ \"installed\", though.\n\nIn the context of _this_ document where the user is working on _git_\nproject towards submitting patches to _us_, it is far simpler to\ndrop the above paragraph and tell them how to run the script in\ncontrib/, e.g.\n\n    $ perl contrib/contacts/git-contacts <args>...\n\nwithout hinting there is anything platform/distro specific, and\ninstead to have them all work from our sources.\n\nI am assuming that any user who are reading this part of the\ndocument would have a reasonably recent version of our sources\nchecked out (after all, they already have a patch or two to send but\nthey are learning the way to find whom to send them to).\n"},{"id":"492883","messageId":"xmqqo7aemrbw.fsf@gitster.g","threadId":"61250","inReplyTo":"84b1cf3f914067f8c2d056578e58d5b38bef7b45.1712878339.git.gitgitgadget@gmail.com","subject":"Re: [PATCH v4 8/8] SubmittingPatches: demonstrate using git-contacts with git-send-email","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2024-04-12T17:19:31Z","receivedAt":"2024-04-12T17:19:38Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"\"Linus Arver via GitGitGadget\" <gitgitgadget@gmail.com> writes:\n\n> From: Linus Arver <linusa@google.com>\n>\n> Signed-off-by: Linus Arver <linusa@google.com>\n> ---\n>  Documentation/SubmittingPatches | 7 +++++++\n>  1 file changed, 7 insertions(+)\n>\n> diff --git a/Documentation/SubmittingPatches b/Documentation/SubmittingPatches\n> index fd40a444f95..eac086133bc 100644\n> --- a/Documentation/SubmittingPatches\n> +++ b/Documentation/SubmittingPatches\n> @@ -420,6 +420,13 @@ trial merges of your topic to `next` and `seen`, you may have noticed\n>  work by others conflicting with your changes.  There is a good possibility\n>  that these people may know the area you are touching well.\n>  \n> +If you are using `send-email`, you can feed it the output of `git contacts` like\n> +this:\n> +\n> +....\n> +\tgit send-email --cc-cmd='git contacts' feature/*.patch\n> +....\n\nDoesn't this contradict with what we said in [2/8]?\n\n>  :current-maintainer: footnote:[The current maintainer: gitster@pobox.com]\n>  :git-ml: footnote:[The mailing list: git@vger.kernel.org]\n"},{"id":"492893","messageId":"CAPig+cT4Jc-wvpZxoe_ZLBZ01-C7LTnbe968_33hwaEGeN+vtQ@mail.gmail.com","threadId":"61250","inReplyTo":"xmqqsezqmrtd.fsf@gitster.g","subject":"Re: [PATCH v4 2/8] SubmittingPatches: clarify 'git-contacts' location","fromName":"Eric Sunshine","fromEmail":"sunshine@sunshineco.com","sentAt":"2024-04-12T18:45:48Z","receivedAt":"2024-04-12T18:46:00Z","isPatch":true,"sender":{"key":"sunshine@sunshineco.com","avatar":"https://avatars.githubusercontent.com/u/163641?v=4"},"body":"On Fri, Apr 12, 2024 at 1:09 PM Junio C Hamano <gitster@pobox.com> wrote:\n> \"Linus Arver via GitGitGadget\" <gitgitgadget@gmail.com> writes:\n> > Use a dash (\"git-contacts\", not \"git contacts\") because the script\n> > is not a core builtin command that is compiled into the `git` binary.\n>\n> Pedantic, but \"git mergetool\" is how it is spelled even though it is\n> not a core builtin command and is not compiled into the binary.  The\n> reason why \"git-contacts\" is better is because we do not install it\n> to be usable by user's \"git\".\n>\n>     ... because the script is not installed as part of \"git\"\n>     toolset.\n>\n> An obvious alternative of course is to promote \"contacts\" out of\n> \"contrib/\" and install it as part of the standard toolset.  I gave a\n> brief scan of the script and did not find anything (other than \"only\n> the recent 5 years worth of history matters\") that is too specific\n> to our project and I suspect it should do a reasonable job when run\n> in any repository/working tree of a git-managed project.\n>\n> But it is outside the scope of this series.  I'd still welcome the\n> thought to do that after the dust settles, though.\n\nAn alternative would be to deprecate and/or remove `git-contacts` from\n\"contrib\" and instead point people at Felipe's `git-related`[1], which\nis the direct parent[2] of `git-contacts`, as well as a more\nfunctional drop-in replacement for `git-contacts`.\n\n[1]: https://github.com/felipec/git-related\n[2]: https://lore.kernel.org/git/1372590512-21341-1-git-send-email-sunshine@sunshineco.com/\n"},{"id":"492900","messageId":"xmqqle5ihx24.fsf@gitster.g","threadId":"61250","inReplyTo":"CAPig+cT4Jc-wvpZxoe_ZLBZ01-C7LTnbe968_33hwaEGeN+vtQ@mail.gmail.com","subject":"Re: [PATCH v4 2/8] SubmittingPatches: clarify 'git-contacts' location","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2024-04-13T01:26:59Z","receivedAt":"2024-04-13T01:27:07Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Eric Sunshine <sunshine@sunshineco.com> writes:\n\n> An alternative would be to deprecate and/or remove `git-contacts` from\n> \"contrib\" and instead point people at Felipe's `git-related`[1], which\n> is the direct parent[2] of `git-contacts`, as well as a more\n> functional drop-in replacement for `git-contacts`.\n\nI am not sure it is wise to add an external dependency on a tool\nthat is not very well known ([1] has only 68 stars), not packaged\nfor distros [*] and is more or less dormant (the last update was\nApril last year).\n\nUnless the one we locally carry is vastly inadequate in comparison,\nI somehow doubt that it is a better alternative to ask our target\naudience to use it, than letting them use git-contacts from in-tree.\n\n\n[Footnote]\n\n * \"git imerge\" and \"tig\" are what I compare with to use as a\n   yardstick, when trying to judge how well-known and easily\n   obtainable a package related to us is.\n"},{"id":"492973","messageId":"owly1q76rwbc.fsf@fine.c.googlers.com","threadId":"61250","inReplyTo":"xmqqo7aemrbw.fsf@gitster.g","subject":"Re: [PATCH v4 8/8] SubmittingPatches: demonstrate using git-contacts with git-send-email","fromName":"Linus Arver","fromEmail":"linusa@google.com","sentAt":"2024-04-16T00:21:59Z","receivedAt":"2024-04-16T00:22:01Z","isPatch":true,"sender":{"key":"linus@ucla.edu","avatar":null},"body":"Junio C Hamano <gitster@pobox.com> writes:\n\n> \"Linus Arver via GitGitGadget\" <gitgitgadget@gmail.com> writes:\n>\n>> From: Linus Arver <linusa@google.com>\n>>\n>> Signed-off-by: Linus Arver <linusa@google.com>\n>> ---\n>>  Documentation/SubmittingPatches | 7 +++++++\n>>  1 file changed, 7 insertions(+)\n>>\n>> diff --git a/Documentation/SubmittingPatches b/Documentation/SubmittingPatches\n>> index fd40a444f95..eac086133bc 100644\n>> --- a/Documentation/SubmittingPatches\n>> +++ b/Documentation/SubmittingPatches\n>> @@ -420,6 +420,13 @@ trial merges of your topic to `next` and `seen`, you may have noticed\n>>  work by others conflicting with your changes.  There is a good possibility\n>>  that these people may know the area you are touching well.\n>>  \n>> +If you are using `send-email`, you can feed it the output of `git contacts` like\n>> +this:\n>> +\n>> +....\n>> +\tgit send-email --cc-cmd='git contacts' feature/*.patch\n>> +....\n>\n> Doesn't this contradict with what we said in [2/8]?\n\nOops, will update.\n"},{"id":"493012","messageId":"owly34rl53mr.fsf@fine.c.googlers.com","threadId":"61250","inReplyTo":"xmqqsezqmrtd.fsf@gitster.g","subject":"Re: [PATCH v4 2/8] SubmittingPatches: clarify 'git-contacts' location","fromName":"Linus Arver","fromEmail":"linusa@google.com","sentAt":"2024-04-16T22:44:44Z","receivedAt":"2024-04-16T22:44:47Z","isPatch":true,"sender":{"key":"linus@ucla.edu","avatar":null},"body":"Junio C Hamano <gitster@pobox.com> writes:\n\n> \"Linus Arver via GitGitGadget\" <gitgitgadget@gmail.com> writes:\n>\n>> From: Linus Arver <linusa@google.com>\n>>\n>> Use a dash (\"git-contacts\", not \"git contacts\") because the script\n>> is not a core builtin command that is compiled into the `git` binary.\n>\n> Pedantic, but \"git mergetool\" is how it is spelled even though it is\n> not a core builtin command and is not compiled into the binary.  The\n> reason why \"git-contacts\" is better is because we do not install it\n> to be usable by user's \"git\".\n>\n>     ... because the script is not installed as part of \"git\"\n>     toolset.\n\nNoted; I will use this wording.\n\n> An obvious alternative of course is to promote \"contacts\" out of\n> \"contrib/\" and install it as part of the standard toolset.  I gave a\n> brief scan of the script and did not find anything (other than \"only\n> the recent 5 years worth of history matters\") that is too specific\n> to our project and I suspect it should do a reasonable job when run\n> in any repository/working tree of a git-managed project.\n>\n> But it is outside the scope of this series.  I'd still welcome the\n> thought to do that after the dust settles, though.\n\nAck. Ideally we would translate it to C (or, dare I say, into a C lib +\nsome other higher level language, Perl or otherwise), but I agree that's\nfor another series.\n\n>> This also puts the script on one line, which should make it easier to\n>> grep for with a loose search query, such as\n>>\n>>     $ git grep git.contacts Documentation\n>>\n>> . Also add a footnote to describe where the script could actually be\n>\n> Let's drop \". \"\n\nWill do.\n\n> ; it may leave the previous sentence appear hanging\n> unterminated, but the capital A that begins a new sentence is a good\n> enough sign that we finished the previous sentence, isn't it?\n\nIn hindsight I agree. From a quick Google search [1] it looks like your\nstyle is what's preferred in academia also.\n\n>> diff --git a/Documentation/SubmittingPatches b/Documentation/SubmittingPatches\n>> index e734a3f0f17..8b6e4bf0300 100644\n>> --- a/Documentation/SubmittingPatches\n>> +++ b/Documentation/SubmittingPatches\n>> @@ -493,9 +493,16 @@ security relevant should not be submitted to the public mailing list\n>>  mentioned below, but should instead be sent privately to the Git\n>>  Security mailing list{security-ml-ref}.\n>>  \n>> +:contrib-scripts: footnoteref:[contrib-scripts,Scripts under `contrib/` are not +\n>> +part of the core `git` binary and must be called separately. Consult your +\n>> +package manager to determine where it is located. For example&#44; on Ubuntu-based +\n>> +systems it could be installed under +\n>> +`/usr/share/doc/git/contrib/contacts/git-contacts` and may need to be called +\n>> +with `perl ...` if it does not have the executable bit set.]\n>\n> I wouldn't call anything in /usr/share/doc/ \"installed\", though.\n>\n> In the context of _this_ document where the user is working on _git_\n> project towards submitting patches to _us_, it is far simpler to\n> drop the above paragraph and tell them how to run the script in\n> contrib/, e.g.\n>\n>     $ perl contrib/contacts/git-contacts <args>...\n>\n> without hinting there is anything platform/distro specific, and\n> instead to have them all work from our sources.\n\nIndeed. One small change is that the script already has the execute bit\nset so I can drop `perl` as $0 (the execute bit is removed when it is\ncopied into /usr/share/... on my system).\n\n> I am assuming that any user who are reading this part of the\n> document would have a reasonably recent version of our sources\n> checked out (after all, they already have a patch or two to send but\n> they are learning the way to find whom to send them to).\n\nAgreed.\n\n[1] https://camosun.libguides.com/Chicago-17thEd/quotations\n"},{"id":"493014","messageId":"xmqqjzkwdigv.fsf@gitster.g","threadId":"61250","inReplyTo":"owly34rl53mr.fsf@fine.c.googlers.com","subject":"Re: [PATCH v4 2/8] SubmittingPatches: clarify 'git-contacts' location","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2024-04-16T22:57:04Z","receivedAt":"2024-04-16T22:57:07Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Linus Arver <linusa@google.com> writes:\n\n>> In the context of _this_ document where the user is working on _git_\n>> project towards submitting patches to _us_, it is far simpler to\n>> drop the above paragraph and tell them how to run the script in\n>> contrib/, e.g.\n>>\n>>     $ perl contrib/contacts/git-contacts <args>...\n>>\n>> without hinting there is anything platform/distro specific, and\n>> instead to have them all work from our sources.\n>\n> Indeed. One small change is that the script already has the execute bit\n> set so I can drop `perl` as $0 (the execute bit is removed when it is\n> copied into /usr/share/... on my system).\n\nWe want to be a bit careful here, though.\n\nThe script begins with \"#!/usr/bin/perl\", but on some systems ther\neis no such command (but /usr/local/bin is on user's PATH and perl\nexists there).\n"},{"id":"493015","messageId":"d2c9551ee0e8b35eb9d4ff5a8eea06f7f0df9cf3.1713308518.git.gitgitgadget@gmail.com","threadId":"61250","inReplyTo":"pull.1704.v5.git.1713308518.gitgitgadget@gmail.com","subject":"[PATCH v5 1/8] MyFirstContribution: mention contrib/contacts/git-contacts","fromName":"Linus Arver via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2024-04-16T23:01:50Z","receivedAt":"2024-04-16T23:02:02Z","isPatch":true,"sender":{"key":"linus@ucla.edu","avatar":null},"body":"From: Linus Arver <linusa@google.com>\n\nAlthough we've had this script since 4d06402b1b (contrib: add\ngit-contacts helper, 2013-07-21), we don't mention it in our\nintroductory docs. Do so now.\n\nHelped-by: Junio C Hamano <gitster@pobox.com>\nSigned-off-by: Linus Arver <linusa@google.com>\n---\n Documentation/MyFirstContribution.txt | 10 ++++++++++\n 1 file changed, 10 insertions(+)\n\ndiff --git a/Documentation/MyFirstContribution.txt b/Documentation/MyFirstContribution.txt\nindex f06563e9817..9665951aeb5 100644\n--- a/Documentation/MyFirstContribution.txt\n+++ b/Documentation/MyFirstContribution.txt\n@@ -1116,6 +1116,16 @@ $ git send-email --to=target@example.com psuh/*.patch\n NOTE: Check `git help send-email` for some other options which you may find\n valuable, such as changing the Reply-to address or adding more CC and BCC lines.\n \n+:contrib-scripts: footnoteref:[contrib-scripts,Scripts under `contrib/` are +\n+not part of the core `git` binary and must be called directly. Clone the Git +\n+codebase and run `contrib/contacts/git-contacts` (you must have Perl installed +\n+in your system).]\n+\n+NOTE: If you're not sure whom to CC, running `contrib/contacts/git-contacts` can\n+list potential reviewers. In addition, you can do `git send-email\n+--cc-cmd='contrib/contacts/git-contacts' feature/*.patch`{contrib-scripts} to\n+automatically pass this list of emails to `send-email`.\n+\n NOTE: When you are sending a real patch, it will go to git@vger.kernel.org - but\n please don't send your patchset from the tutorial to the real mailing list! For\n now, you can send it to yourself, to make sure you understand how it will look.\n-- \ngitgitgadget\n\n"},{"id":"493016","messageId":"pull.1704.v5.git.1713308518.gitgitgadget@gmail.com","threadId":"61250","inReplyTo":"pull.1704.v4.git.1712878339.gitgitgadget@gmail.com","subject":"[PATCH v5 0/8] docs: recommend using contrib/contacts/git-contacts","fromName":"Linus Arver via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2024-04-16T23:01:49Z","receivedAt":"2024-04-16T23:02:02Z","isPatch":true,"sender":{"key":"linus@ucla.edu","avatar":null},"body":"Make git-contacts more prominent in our docs.\n\n\nNotable changes in v5\n=====================\n\n * Drop mention of \"/usr/share/...\" as an \"installed\" path for\n   \"git-contacts\"; instead point users to the script as a relative path\n   inside the Git codebase\n * Minor wording tweaks to commit messages\n\n\nNotable changes in v4\n=====================\n\n * Avoid using \"should\" for guidance around using \"git-contacts\"\n * Clarify where to find the \"git-contacts\" script (because it's not a\n   default builtin command)\n\n\nNotable changes in v3\n=====================\n\n * Refer to GitGitGadget via a link to MyFirstContribution (instead of\n   sending readers to GGG's homepage directly)\n * Soften the advice for using git-contacts\n\n\nNotable changes in v2\n=====================\n\n * Improve existing mention of git-contacts in SubmittingPatches (instead of\n   adding a separate, entirely new paragraph)\n * Add example usage of integrating git-contacts with git-send-email with\n   the latter's --cc-cmd flag.\n * Various smaller fixes to SubmittingPatches\n\nLinus Arver (8):\n  MyFirstContribution: mention contrib/contacts/git-contacts\n  SubmittingPatches: clarify 'git-contacts' location\n  SubmittingPatches: mention GitGitGadget\n  SubmittingPatches: quote commands\n  SubmittingPatches: discuss reviewers first\n  SubmittingPatches: dedupe discussion of security patches\n  SubmittingPatches: add heading for format-patch and send-email\n  SubmittingPatches: demonstrate using git-contacts with git-send-email\n\n Documentation/MyFirstContribution.txt | 10 ++++\n Documentation/SubmittingPatches       | 73 ++++++++++++++++-----------\n 2 files changed, 53 insertions(+), 30 deletions(-)\n\n\nbase-commit: c2cbfbd2e28cbe27c194d62183b42f27a6a5bb87\nPublished-As: https://github.com/gitgitgadget/git/releases/tag/pr-1704%2Flistx%2Freviewers-v5\nFetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-1704/listx/reviewers-v5\nPull-Request: https://github.com/gitgitgadget/git/pull/1704\n\nRange-diff vs v4:\n\n 1:  ad469e4e6db ! 1:  d2c9551ee0e MyFirstContribution: mention contrib/contacts/git-contacts\n     @@ Documentation/MyFirstContribution.txt: $ git send-email --to=target@example.com\n       NOTE: Check `git help send-email` for some other options which you may find\n       valuable, such as changing the Reply-to address or adding more CC and BCC lines.\n       \n     -+:contrib-scripts: footnoteref:[contrib-scripts,Scripts under `contrib/` are not +\n     -+part of the core `git` binary and must be called separately. Consult your +\n     -+package manager to determine where it is located. For example&#44; on Ubuntu-based +\n     -+systems it could be installed under +\n     -+`/usr/share/doc/git/contrib/contacts/git-contacts` and may need to be called +\n     -+with `perl ...` if it does not have the executable bit set.]\n     ++:contrib-scripts: footnoteref:[contrib-scripts,Scripts under `contrib/` are +\n     ++not part of the core `git` binary and must be called directly. Clone the Git +\n     ++codebase and run `contrib/contacts/git-contacts` (you must have Perl installed +\n     ++in your system).]\n      +\n      +NOTE: If you're not sure whom to CC, running `contrib/contacts/git-contacts` can\n      +list potential reviewers. In addition, you can do `git send-email\n     -+--cc-cmd='/path/to/git-contacts' feature/*.patch`{contrib-scripts} to\n     ++--cc-cmd='contrib/contacts/git-contacts' feature/*.patch`{contrib-scripts} to\n      +automatically pass this list of emails to `send-email`.\n      +\n       NOTE: When you are sending a real patch, it will go to git@vger.kernel.org - but\n 2:  c43de19d867 ! 2:  92d72a8a25a SubmittingPatches: clarify 'git-contacts' location\n     @@ Metadata\n       ## Commit message ##\n          SubmittingPatches: clarify 'git-contacts' location\n      \n     -    Use a dash (\"git-contacts\", not \"git contacts\") because the script\n     -    is not a core builtin command that is compiled into the `git` binary.\n     -    This also puts the script on one line, which should make it easier to\n     -    grep for with a loose search query, such as\n     +    Use a dash (\"git-contacts\", not \"git contacts\") because the script is\n     +    not installed as part of \"git\" toolset. This also puts the script on\n     +    one line, which should make it easier to grep for with a loose search\n     +    query, such as\n      \n              $ git grep git.contacts Documentation\n      \n     -    . Also add a footnote to describe where the script could actually be\n     -    located, to help readers who may not be familiar with such \"contrib\"\n     -    scripts (and how they are not accessible with the usual \"git\n     -    <subcommand>\" syntax).\n     +    Also add a footnote to describe where the script is located, to help\n     +    readers who may not be familiar with such \"contrib\" scripts (and how\n     +    they are not accessible with the usual \"git <subcommand>\" syntax).\n      \n          Signed-off-by: Linus Arver <linusa@google.com>\n      \n     @@ Documentation/SubmittingPatches: security relevant should not be submitted to th\n       mentioned below, but should instead be sent privately to the Git\n       Security mailing list{security-ml-ref}.\n       \n     -+:contrib-scripts: footnoteref:[contrib-scripts,Scripts under `contrib/` are not +\n     -+part of the core `git` binary and must be called separately. Consult your +\n     -+package manager to determine where it is located. For example&#44; on Ubuntu-based +\n     -+systems it could be installed under +\n     -+`/usr/share/doc/git/contrib/contacts/git-contacts` and may need to be called +\n     -+with `perl ...` if it does not have the executable bit set.]\n     ++:contrib-scripts: footnoteref:[contrib-scripts,Scripts under `contrib/` are +\n     ++not part of the core `git` binary and must be called directly. Clone the Git +\n     ++codebase and run `contrib/contacts/git-contacts` (you must have Perl installed +\n     ++in your system).]\n      +\n       Send your patch with \"To:\" set to the mailing list, with \"cc:\" listing\n      -people who are involved in the area you are touching (the `git\n 3:  cd941704176 = 3:  7c4cc5a91f0 SubmittingPatches: mention GitGitGadget\n 4:  44470a5d70e = 4:  621912a64fb SubmittingPatches: quote commands\n 5:  15f9356ff97 ! 5:  8f44343c482 SubmittingPatches: discuss reviewers first\n     @@ Documentation/SubmittingPatches: letter.\n      +mentioned below, but should instead be sent privately to the Git\n      +Security mailing list{security-ml-ref}.\n      +\n     -+:contrib-scripts: footnoteref:[contrib-scripts,Scripts under `contrib/` are not +\n     -+part of the core `git` binary and must be called separately. Consult your +\n     -+package manager to determine where it is located. For example&#44; on Ubuntu-based +\n     -+systems it could be installed under +\n     -+`/usr/share/doc/git/contrib/contacts/git-contacts` and may need to be called +\n     -+with `perl ...` if it does not have the executable bit set.]\n     ++:contrib-scripts: footnoteref:[contrib-scripts,Scripts under `contrib/` are +\n     ++not part of the core `git` binary and must be called directly. Clone the Git +\n     ++codebase and run `contrib/contacts/git-contacts` (you must have Perl installed +\n     ++in your system).]\n      +\n      +Send your patch with \"To:\" set to the mailing list, with \"cc:\" listing\n      +people who are involved in the area you are touching (the `git-contacts`\n     @@ Documentation/SubmittingPatches: patch, format it as \"multipart/signed\", not a t\n      -mentioned below, but should instead be sent privately to the Git\n      -Security mailing list{security-ml-ref}.\n      -\n     --:contrib-scripts: footnoteref:[contrib-scripts,Scripts under `contrib/` are not +\n     --part of the core `git` binary and must be called separately. Consult your +\n     --package manager to determine where it is located. For example&#44; on Ubuntu-based +\n     --systems it could be installed under +\n     --`/usr/share/doc/git/contrib/contacts/git-contacts` and may need to be called +\n     --with `perl ...` if it does not have the executable bit set.]\n     +-:contrib-scripts: footnoteref:[contrib-scripts,Scripts under `contrib/` are +\n     +-not part of the core `git` binary and must be called directly. Clone the Git +\n     +-codebase and run `contrib/contacts/git-contacts` (you must have Perl installed +\n     +-in your system).]\n      -\n      -Send your patch with \"To:\" set to the mailing list, with \"cc:\" listing\n      -people who are involved in the area you are touching (the `git-contacts`\n 6:  e889e64bd45 ! 6:  fd8ad38cab0 SubmittingPatches: dedupe discussion of security patches\n     @@ Documentation/SubmittingPatches: letter.\n      +security relevant should be submitted privately to the Git Security\n      +mailing list{security-ml}, instead of the public mailing list.\n       \n     - :contrib-scripts: footnoteref:[contrib-scripts,Scripts under `contrib/` are not +\n     - part of the core `git` binary and must be called separately. Consult your +\n     + :contrib-scripts: footnoteref:[contrib-scripts,Scripts under `contrib/` are +\n     + not part of the core `git` binary and must be called directly. Clone the Git +\n      @@ Documentation/SubmittingPatches: Do not forget to add trailers such as `Acked-by:`, `Reviewed-by:` and\n       `Tested-by:` lines as necessary to credit people who helped your\n       patch, and \"cc:\" them when sending such a final version for inclusion.\n 7:  81556298599 = 7:  b23c73459cc SubmittingPatches: add heading for format-patch and send-email\n 8:  84b1cf3f914 ! 8:  911d4f2a0e5 SubmittingPatches: demonstrate using git-contacts with git-send-email\n     @@ Documentation/SubmittingPatches: trial merges of your topic to `next` and `seen`\n       work by others conflicting with your changes.  There is a good possibility\n       that these people may know the area you are touching well.\n       \n     -+If you are using `send-email`, you can feed it the output of `git contacts` like\n     ++If you are using `send-email`, you can feed it the output of `git-contacts` like\n      +this:\n      +\n      +....\n     -+\tgit send-email --cc-cmd='git contacts' feature/*.patch\n     ++\tgit send-email --cc-cmd='contrib/contacts/git-contacts' feature/*.patch\n      +....\n      +\n       :current-maintainer: footnote:[The current maintainer: gitster@pobox.com]\n\n-- \ngitgitgadget\n"},{"id":"493017","messageId":"92d72a8a25a74c63fbd9736bbfe3c6b3618164cc.1713308518.git.gitgitgadget@gmail.com","threadId":"61250","inReplyTo":"pull.1704.v5.git.1713308518.gitgitgadget@gmail.com","subject":"[PATCH v5 2/8] SubmittingPatches: clarify 'git-contacts' location","fromName":"Linus Arver via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2024-04-16T23:01:51Z","receivedAt":"2024-04-16T23:02:04Z","isPatch":true,"sender":{"key":"linus@ucla.edu","avatar":null},"body":"From: Linus Arver <linusa@google.com>\n\nUse a dash (\"git-contacts\", not \"git contacts\") because the script is\nnot installed as part of \"git\" toolset. This also puts the script on\none line, which should make it easier to grep for with a loose search\nquery, such as\n\n    $ git grep git.contacts Documentation\n\nAlso add a footnote to describe where the script is located, to help\nreaders who may not be familiar with such \"contrib\" scripts (and how\nthey are not accessible with the usual \"git <subcommand>\" syntax).\n\nSigned-off-by: Linus Arver <linusa@google.com>\n---\n Documentation/SubmittingPatches | 9 +++++++--\n 1 file changed, 7 insertions(+), 2 deletions(-)\n\ndiff --git a/Documentation/SubmittingPatches b/Documentation/SubmittingPatches\nindex e734a3f0f17..0d4276c6c7e 100644\n--- a/Documentation/SubmittingPatches\n+++ b/Documentation/SubmittingPatches\n@@ -493,9 +493,14 @@ security relevant should not be submitted to the public mailing list\n mentioned below, but should instead be sent privately to the Git\n Security mailing list{security-ml-ref}.\n \n+:contrib-scripts: footnoteref:[contrib-scripts,Scripts under `contrib/` are +\n+not part of the core `git` binary and must be called directly. Clone the Git +\n+codebase and run `contrib/contacts/git-contacts` (you must have Perl installed +\n+in your system).]\n+\n Send your patch with \"To:\" set to the mailing list, with \"cc:\" listing\n-people who are involved in the area you are touching (the `git\n-contacts` command in `contrib/contacts/` can help to\n+people who are involved in the area you are touching (the `git-contacts`\n+script in `contrib/contacts/`{contrib-scripts} can help to\n identify them), to solicit comments and reviews.  Also, when you made\n trial merges of your topic to `next` and `seen`, you may have noticed\n work by others conflicting with your changes.  There is a good possibility\n-- \ngitgitgadget\n\n"},{"id":"493018","messageId":"7c4cc5a91f0ab09ff46179aaa24562fb0a0e9706.1713308518.git.gitgitgadget@gmail.com","threadId":"61250","inReplyTo":"pull.1704.v5.git.1713308518.gitgitgadget@gmail.com","subject":"[PATCH v5 3/8] SubmittingPatches: mention GitGitGadget","fromName":"Linus Arver via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2024-04-16T23:01:52Z","receivedAt":"2024-04-16T23:02:05Z","isPatch":true,"sender":{"key":"linus@ucla.edu","avatar":null},"body":"From: Linus Arver <linusa@google.com>\n\nSigned-off-by: Linus Arver <linusa@google.com>\n---\n Documentation/SubmittingPatches | 4 ++++\n 1 file changed, 4 insertions(+)\n\ndiff --git a/Documentation/SubmittingPatches b/Documentation/SubmittingPatches\nindex 0d4276c6c7e..a27f7c923b9 100644\n--- a/Documentation/SubmittingPatches\n+++ b/Documentation/SubmittingPatches\n@@ -408,6 +408,10 @@ are optimized for the workflow of sending patches, avoiding many ways\n your existing e-mail client (often optimized for \"multipart/*\" MIME\n type e-mails) might render your patches unusable.\n \n+NOTE: Here we outline the procedure using `format-patch` and\n+`send-email`, but you can instead use GitGitGadget to send in your\n+patches (see link:MyFirstContribution.html[MyFirstContribution]).\n+\n People on the Git mailing list need to be able to read and\n comment on the changes you are submitting.  It is important for\n a developer to be able to \"quote\" your changes, using standard\n-- \ngitgitgadget\n\n"},{"id":"493019","messageId":"621912a64fbe0ec412cbef42561fd647de446660.1713308518.git.gitgitgadget@gmail.com","threadId":"61250","inReplyTo":"pull.1704.v5.git.1713308518.gitgitgadget@gmail.com","subject":"[PATCH v5 4/8] SubmittingPatches: quote commands","fromName":"Linus Arver via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2024-04-16T23:01:53Z","receivedAt":"2024-04-16T23:02:06Z","isPatch":true,"sender":{"key":"linus@ucla.edu","avatar":null},"body":"From: Linus Arver <linusa@google.com>\n\nSigned-off-by: Linus Arver <linusa@google.com>\n---\n Documentation/SubmittingPatches | 2 +-\n 1 file changed, 1 insertion(+), 1 deletion(-)\n\ndiff --git a/Documentation/SubmittingPatches b/Documentation/SubmittingPatches\nindex a27f7c923b9..b684bdd03a1 100644\n--- a/Documentation/SubmittingPatches\n+++ b/Documentation/SubmittingPatches\n@@ -403,7 +403,7 @@ Before sending any patches, please note that patches that may be\n security relevant should be submitted privately to the Git Security\n mailing list{security-ml}, instead of the public mailing list.\n \n-Learn to use format-patch and send-email if possible.  These commands\n+Learn to use `format-patch` and `send-email` if possible.  These commands\n are optimized for the workflow of sending patches, avoiding many ways\n your existing e-mail client (often optimized for \"multipart/*\" MIME\n type e-mails) might render your patches unusable.\n-- \ngitgitgadget\n\n"},{"id":"493020","messageId":"8f44343c482dd2c343b6c449479c5c35dcdbbc50.1713308518.git.gitgitgadget@gmail.com","threadId":"61250","inReplyTo":"pull.1704.v5.git.1713308518.gitgitgadget@gmail.com","subject":"[PATCH v5 5/8] SubmittingPatches: discuss reviewers first","fromName":"Linus Arver via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2024-04-16T23:01:54Z","receivedAt":"2024-04-16T23:02:07Z","isPatch":true,"sender":{"key":"linus@ucla.edu","avatar":null},"body":"From: Linus Arver <linusa@google.com>\n\nNo matter how well someone configures their email tooling, understanding\nwho to send the patches to is something that must always be considered.\nSo discuss it first instead of at the end.\n\nIn the following commit we will clean up the (now redundant) discussion\nabout sending security patches to the Git Security mailing list.\n\nSigned-off-by: Linus Arver <linusa@google.com>\n---\n Documentation/SubmittingPatches | 68 +++++++++++++++++----------------\n 1 file changed, 35 insertions(+), 33 deletions(-)\n\ndiff --git a/Documentation/SubmittingPatches b/Documentation/SubmittingPatches\nindex b684bdd03a1..a110f94db4f 100644\n--- a/Documentation/SubmittingPatches\n+++ b/Documentation/SubmittingPatches\n@@ -397,6 +397,41 @@ letter.\n [[send-patches]]\n === Sending your patches.\n \n+==== Choosing your reviewers\n+\n+:security-ml-ref: footnoteref:[security-ml]\n+\n+As mentioned at the beginning of the section, patches that may be\n+security relevant should not be submitted to the public mailing list\n+mentioned below, but should instead be sent privately to the Git\n+Security mailing list{security-ml-ref}.\n+\n+:contrib-scripts: footnoteref:[contrib-scripts,Scripts under `contrib/` are +\n+not part of the core `git` binary and must be called directly. Clone the Git +\n+codebase and run `contrib/contacts/git-contacts` (you must have Perl installed +\n+in your system).]\n+\n+Send your patch with \"To:\" set to the mailing list, with \"cc:\" listing\n+people who are involved in the area you are touching (the `git-contacts`\n+script in `contrib/contacts/`{contrib-scripts} can help to\n+identify them), to solicit comments and reviews.  Also, when you made\n+trial merges of your topic to `next` and `seen`, you may have noticed\n+work by others conflicting with your changes.  There is a good possibility\n+that these people may know the area you are touching well.\n+\n+:current-maintainer: footnote:[The current maintainer: gitster@pobox.com]\n+:git-ml: footnote:[The mailing list: git@vger.kernel.org]\n+\n+After the list reached a consensus that it is a good idea to apply the\n+patch, re-send it with \"To:\" set to the maintainer{current-maintainer}\n+and \"cc:\" the list{git-ml} for inclusion.  This is especially relevant\n+when the maintainer did not heavily participate in the discussion and\n+instead left the review to trusted others.\n+\n+Do not forget to add trailers such as `Acked-by:`, `Reviewed-by:` and\n+`Tested-by:` lines as necessary to credit people who helped your\n+patch, and \"cc:\" them when sending such a final version for inclusion.\n+\n :security-ml: footnoteref:[security-ml,The Git Security mailing list: git-security@googlegroups.com]\n \n Before sending any patches, please note that patches that may be\n@@ -490,39 +525,6 @@ patch, format it as \"multipart/signed\", not a text/plain message\n that starts with `-----BEGIN PGP SIGNED MESSAGE-----`.  That is\n not a text/plain, it's something else.\n \n-:security-ml-ref: footnoteref:[security-ml]\n-\n-As mentioned at the beginning of the section, patches that may be\n-security relevant should not be submitted to the public mailing list\n-mentioned below, but should instead be sent privately to the Git\n-Security mailing list{security-ml-ref}.\n-\n-:contrib-scripts: footnoteref:[contrib-scripts,Scripts under `contrib/` are +\n-not part of the core `git` binary and must be called directly. Clone the Git +\n-codebase and run `contrib/contacts/git-contacts` (you must have Perl installed +\n-in your system).]\n-\n-Send your patch with \"To:\" set to the mailing list, with \"cc:\" listing\n-people who are involved in the area you are touching (the `git-contacts`\n-script in `contrib/contacts/`{contrib-scripts} can help to\n-identify them), to solicit comments and reviews.  Also, when you made\n-trial merges of your topic to `next` and `seen`, you may have noticed\n-work by others conflicting with your changes.  There is a good possibility\n-that these people may know the area you are touching well.\n-\n-:current-maintainer: footnote:[The current maintainer: gitster@pobox.com]\n-:git-ml: footnote:[The mailing list: git@vger.kernel.org]\n-\n-After the list reached a consensus that it is a good idea to apply the\n-patch, re-send it with \"To:\" set to the maintainer{current-maintainer}\n-and \"cc:\" the list{git-ml} for inclusion.  This is especially relevant\n-when the maintainer did not heavily participate in the discussion and\n-instead left the review to trusted others.\n-\n-Do not forget to add trailers such as `Acked-by:`, `Reviewed-by:` and\n-`Tested-by:` lines as necessary to credit people who helped your\n-patch, and \"cc:\" them when sending such a final version for inclusion.\n-\n == Subsystems with dedicated maintainers\n \n Some parts of the system have dedicated maintainers with their own\n-- \ngitgitgadget\n\n"},{"id":"493021","messageId":"fd8ad38cab0ccc51ae7d26dc233d27e615a2969c.1713308518.git.gitgitgadget@gmail.com","threadId":"61250","inReplyTo":"pull.1704.v5.git.1713308518.gitgitgadget@gmail.com","subject":"[PATCH v5 6/8] SubmittingPatches: dedupe discussion of security patches","fromName":"Linus Arver via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2024-04-16T23:01:55Z","receivedAt":"2024-04-16T23:02:09Z","isPatch":true,"sender":{"key":"linus@ucla.edu","avatar":null},"body":"From: Linus Arver <linusa@google.com>\n\nSigned-off-by: Linus Arver <linusa@google.com>\n---\n Documentation/SubmittingPatches | 15 ++++-----------\n 1 file changed, 4 insertions(+), 11 deletions(-)\n\ndiff --git a/Documentation/SubmittingPatches b/Documentation/SubmittingPatches\nindex a110f94db4f..060c8069c10 100644\n--- a/Documentation/SubmittingPatches\n+++ b/Documentation/SubmittingPatches\n@@ -399,12 +399,11 @@ letter.\n \n ==== Choosing your reviewers\n \n-:security-ml-ref: footnoteref:[security-ml]\n+:security-ml: footnoteref:[security-ml,The Git Security mailing list: git-security@googlegroups.com]\n \n-As mentioned at the beginning of the section, patches that may be\n-security relevant should not be submitted to the public mailing list\n-mentioned below, but should instead be sent privately to the Git\n-Security mailing list{security-ml-ref}.\n+NOTE: Patches that may be\n+security relevant should be submitted privately to the Git Security\n+mailing list{security-ml}, instead of the public mailing list.\n \n :contrib-scripts: footnoteref:[contrib-scripts,Scripts under `contrib/` are +\n not part of the core `git` binary and must be called directly. Clone the Git +\n@@ -432,12 +431,6 @@ Do not forget to add trailers such as `Acked-by:`, `Reviewed-by:` and\n `Tested-by:` lines as necessary to credit people who helped your\n patch, and \"cc:\" them when sending such a final version for inclusion.\n \n-:security-ml: footnoteref:[security-ml,The Git Security mailing list: git-security@googlegroups.com]\n-\n-Before sending any patches, please note that patches that may be\n-security relevant should be submitted privately to the Git Security\n-mailing list{security-ml}, instead of the public mailing list.\n-\n Learn to use `format-patch` and `send-email` if possible.  These commands\n are optimized for the workflow of sending patches, avoiding many ways\n your existing e-mail client (often optimized for \"multipart/*\" MIME\n-- \ngitgitgadget\n\n"},{"id":"493022","messageId":"b23c73459cc4c9b43020a7ff9c9b4902f71ce123.1713308518.git.gitgitgadget@gmail.com","threadId":"61250","inReplyTo":"pull.1704.v5.git.1713308518.gitgitgadget@gmail.com","subject":"[PATCH v5 7/8] SubmittingPatches: add heading for format-patch and send-email","fromName":"Linus Arver via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2024-04-16T23:01:56Z","receivedAt":"2024-04-16T23:02:09Z","isPatch":true,"sender":{"key":"linus@ucla.edu","avatar":null},"body":"From: Linus Arver <linusa@google.com>\n\nSigned-off-by: Linus Arver <linusa@google.com>\n---\n Documentation/SubmittingPatches | 2 ++\n 1 file changed, 2 insertions(+)\n\ndiff --git a/Documentation/SubmittingPatches b/Documentation/SubmittingPatches\nindex 060c8069c10..1700132a3a4 100644\n--- a/Documentation/SubmittingPatches\n+++ b/Documentation/SubmittingPatches\n@@ -431,6 +431,8 @@ Do not forget to add trailers such as `Acked-by:`, `Reviewed-by:` and\n `Tested-by:` lines as necessary to credit people who helped your\n patch, and \"cc:\" them when sending such a final version for inclusion.\n \n+==== `format-patch` and `send-email`\n+\n Learn to use `format-patch` and `send-email` if possible.  These commands\n are optimized for the workflow of sending patches, avoiding many ways\n your existing e-mail client (often optimized for \"multipart/*\" MIME\n-- \ngitgitgadget\n\n"},{"id":"493023","messageId":"911d4f2a0e51786c506d9dff3e88561362b108e4.1713308518.git.gitgitgadget@gmail.com","threadId":"61250","inReplyTo":"pull.1704.v5.git.1713308518.gitgitgadget@gmail.com","subject":"[PATCH v5 8/8] SubmittingPatches: demonstrate using git-contacts with git-send-email","fromName":"Linus Arver via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2024-04-16T23:01:57Z","receivedAt":"2024-04-16T23:02:10Z","isPatch":true,"sender":{"key":"linus@ucla.edu","avatar":null},"body":"From: Linus Arver <linusa@google.com>\n\nSigned-off-by: Linus Arver <linusa@google.com>\n---\n Documentation/SubmittingPatches | 7 +++++++\n 1 file changed, 7 insertions(+)\n\ndiff --git a/Documentation/SubmittingPatches b/Documentation/SubmittingPatches\nindex 1700132a3a4..b616422197f 100644\n--- a/Documentation/SubmittingPatches\n+++ b/Documentation/SubmittingPatches\n@@ -418,6 +418,13 @@ trial merges of your topic to `next` and `seen`, you may have noticed\n work by others conflicting with your changes.  There is a good possibility\n that these people may know the area you are touching well.\n \n+If you are using `send-email`, you can feed it the output of `git-contacts` like\n+this:\n+\n+....\n+\tgit send-email --cc-cmd='contrib/contacts/git-contacts' feature/*.patch\n+....\n+\n :current-maintainer: footnote:[The current maintainer: gitster@pobox.com]\n :git-ml: footnote:[The mailing list: git@vger.kernel.org]\n \n-- \ngitgitgadget\n"},{"id":"493024","messageId":"owlyzfts52ln.fsf@fine.c.googlers.com","threadId":"61250","inReplyTo":"xmqqjzkwdigv.fsf@gitster.g","subject":"Re: [PATCH v4 2/8] SubmittingPatches: clarify 'git-contacts' location","fromName":"Linus Arver","fromEmail":"linusa@google.com","sentAt":"2024-04-16T23:07:00Z","receivedAt":"2024-04-16T23:07:03Z","isPatch":true,"sender":{"key":"linus@ucla.edu","avatar":null},"body":"Junio C Hamano <gitster@pobox.com> writes:\n\n> Linus Arver <linusa@google.com> writes:\n>\n>>> In the context of _this_ document where the user is working on _git_\n>>> project towards submitting patches to _us_, it is far simpler to\n>>> drop the above paragraph and tell them how to run the script in\n>>> contrib/, e.g.\n>>>\n>>>     $ perl contrib/contacts/git-contacts <args>...\n>>>\n>>> without hinting there is anything platform/distro specific, and\n>>> instead to have them all work from our sources.\n>>\n>> Indeed. One small change is that the script already has the execute bit\n>> set so I can drop `perl` as $0 (the execute bit is removed when it is\n>> copied into /usr/share/... on my system).\n>\n> We want to be a bit careful here, though.\n>\n> The script begins with \"#!/usr/bin/perl\", but on some systems ther\n> eis no such command (but /usr/local/bin is on user's PATH and perl\n> exists there).\n\nDoh, I already sent a v5. Sorry about that. <wears cone of shame>\n\nAnyway, should I do something like \"#!/usr/bin/env perl\" or similar as\nanother patch? It should be more portable than the hardcoded path we\nhave to /usr/bin/perl.\n"},{"id":"493044","messageId":"xmqqfrvkd843.fsf@gitster.g","threadId":"61250","inReplyTo":"owlyzfts52ln.fsf@fine.c.googlers.com","subject":"Re: [PATCH v4 2/8] SubmittingPatches: clarify 'git-contacts' location","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2024-04-17T02:40:44Z","receivedAt":"2024-04-17T02:40:55Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Linus Arver <linusa@google.com> writes:\n\n> Anyway, should I do something like \"#!/usr/bin/env perl\" or similar as\n> another patch? It should be more portable than the hardcoded path we\n> have to /usr/bin/perl.\n\nThe project preference always has been to replace #!/usr/bin/$prog\nwhen installing to match the system's path, without having to assume\nthat \"env\" is available and is installed in /usr/bin/\n\nWe are not installing this thing (yet), so how about giving an\ninstruction to run \"perl contrib/contacts/git-contacts\", only\nassuming that the user is intelligent enough to be able to react to\n\"perl: not found\" by installing it on their path?\n\n"},{"id":"493051","messageId":"xmqq8r1cczw8.fsf@gitster.g","threadId":"61250","inReplyTo":"xmqqfrvkd843.fsf@gitster.g","subject":"Re: [PATCH v4 2/8] SubmittingPatches: clarify 'git-contacts' location","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2024-04-17T05:38:15Z","receivedAt":"2024-04-17T05:38:28Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Junio C Hamano <gitster@pobox.com> writes:\n\n> We are not installing this thing (yet), so how about giving an\n> instruction to run \"perl contrib/contacts/git-contacts\", only\n> assuming that the user is intelligent enough to be able to react to\n> \"perl: not found\" by installing it on their path?\n\nThat is, something like this, perhaps.\n\nAs the string given to --cc-cmd is stored in $cc_cmd, and is used in\nthis call:\n\n\tpush @cc, recipients_cmd(\"cc-cmd\", \"cc\", $cc_cmd, $t, $quiet)\n\nwhere recipients_cmd takes ($prefix, $what, $cmd, $file, $quiet) and\nruns execute_cmd($prefix, $cmd, $file).  execute_cmd in turn takes\n($prefix, $cmd, $file) and does this:\n\n\topen my $fh, \"-|\", \"$cmd \\Q$file\\E\"\n\t\tor die sprintf(__(\"(%s) Could not execute '%s'\"), $prefix, $cmd);\n\nIOW, $cmd is just an early part of a shell command line that takes a\nfilename as its last argument, so I think it would be fine for $cmd\nto be \"perl contrib/contacts/git-contacts\".  I did not test it, and\nit would be appreciated if people can test it.\n\n\n\n Documentation/MyFirstContribution.txt | 6 +++---\n Documentation/SubmittingPatches       | 6 +++---\n 2 files changed, 6 insertions(+), 6 deletions(-)\n\ndiff --git c/Documentation/MyFirstContribution.txt w/Documentation/MyFirstContribution.txt\nindex 9665951aeb..9eb6b98a82 100644\n--- c/Documentation/MyFirstContribution.txt\n+++ w/Documentation/MyFirstContribution.txt\n@@ -1118,12 +1118,12 @@ valuable, such as changing the Reply-to address or adding more CC and BCC lines.\n \n :contrib-scripts: footnoteref:[contrib-scripts,Scripts under `contrib/` are +\n not part of the core `git` binary and must be called directly. Clone the Git +\n-codebase and run `contrib/contacts/git-contacts` (you must have Perl installed +\n-in your system).]\n+codebase and run `perl contrib/contacts/git-contacts` (you must have Perl +\n+installed in your system).]\n \n NOTE: If you're not sure whom to CC, running `contrib/contacts/git-contacts` can\n list potential reviewers. In addition, you can do `git send-email\n---cc-cmd='contrib/contacts/git-contacts' feature/*.patch`{contrib-scripts} to\n+--cc-cmd='perl contrib/contacts/git-contacts' feature/*.patch`{contrib-scripts} to\n automatically pass this list of emails to `send-email`.\n \n NOTE: When you are sending a real patch, it will go to git@vger.kernel.org - but\ndiff --git c/Documentation/SubmittingPatches w/Documentation/SubmittingPatches\nindex b616422197..1099040d7e 100644\n--- c/Documentation/SubmittingPatches\n+++ w/Documentation/SubmittingPatches\n@@ -407,8 +407,8 @@ mailing list{security-ml}, instead of the public mailing list.\n \n :contrib-scripts: footnoteref:[contrib-scripts,Scripts under `contrib/` are +\n not part of the core `git` binary and must be called directly. Clone the Git +\n-codebase and run `contrib/contacts/git-contacts` (you must have Perl installed +\n-in your system).]\n+codebase and run `perl contrib/contacts/git-contacts` (you must have Perl +\n+installed in your system).]\n \n Send your patch with \"To:\" set to the mailing list, with \"cc:\" listing\n people who are involved in the area you are touching (the `git-contacts`\n@@ -422,7 +422,7 @@ If you are using `send-email`, you can feed it the output of `git-contacts` like\n this:\n \n ....\n-\tgit send-email --cc-cmd='contrib/contacts/git-contacts' feature/*.patch\n+\tgit send-email --cc-cmd='perl contrib/contacts/git-contacts' feature/*.patch\n ....\n \n :current-maintainer: footnote:[The current maintainer: gitster@pobox.com]\n"},{"id":"493052","messageId":"CAPig+cQ=xgfExyCM2qyobv7CNRz7=J8S_=w-C-VoCNZ6M6FBbg@mail.gmail.com","threadId":"61250","inReplyTo":"xmqq8r1cczw8.fsf@gitster.g","subject":"Re: [PATCH v4 2/8] SubmittingPatches: clarify 'git-contacts' location","fromName":"Eric Sunshine","fromEmail":"sunshine@sunshineco.com","sentAt":"2024-04-17T05:48:29Z","receivedAt":"2024-04-17T05:48:41Z","isPatch":true,"sender":{"key":"sunshine@sunshineco.com","avatar":"https://avatars.githubusercontent.com/u/163641?v=4"},"body":"On Wed, Apr 17, 2024 at 1:38 AM Junio C Hamano <gitster@pobox.com> wrote:\n> IOW, $cmd is just an early part of a shell command line that takes a\n> filename as its last argument, so I think it would be fine for $cmd\n> to be \"perl contrib/contacts/git-contacts\".  I did not test it, and\n> it would be appreciated if people can test it.\n>\n> diff --git c/Documentation/MyFirstContribution.txt w/Documentation/MyFirstContribution.txt\n> @@ -1118,12 +1118,12 @@ valuable, such as changing the Reply-to address or adding more CC and BCC lines.\n> -codebase and run `contrib/contacts/git-contacts` (you must have Perl installed +\n> -in your system).]\n> +codebase and run `perl contrib/contacts/git-contacts` (you must have Perl +\n> +installed in your system).]\n\nI wonder if we really need to hand-hold so much to tell people that\nthey must have Perl installed, especially since the command being run\n_is_ `perl`. It might be sufficient simply to say:\n\n    ... codebase and run `perl contrib/contacts/git-contacts`.]\n\nAnyhow, it's a minor point.\n"},{"id":"493092","messageId":"xmqq4jc0cag6.fsf@gitster.g","threadId":"61250","inReplyTo":"CAPig+cQ=xgfExyCM2qyobv7CNRz7=J8S_=w-C-VoCNZ6M6FBbg@mail.gmail.com","subject":"Re: [PATCH v4 2/8] SubmittingPatches: clarify 'git-contacts' location","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2024-04-17T14:47:53Z","receivedAt":"2024-04-17T14:47:56Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Eric Sunshine <sunshine@sunshineco.com> writes:\n\n>> @@ -1118,12 +1118,12 @@ valuable, such as changing the Reply-to address or adding more CC and BCC lines.\n>> -codebase and run `contrib/contacts/git-contacts` (you must have Perl installed +\n>> -in your system).]\n>> +codebase and run `perl contrib/contacts/git-contacts` (you must have Perl +\n>> +installed in your system).]\n>\n> I wonder if we really need to hand-hold so much to tell people that\n> they must have Perl installed, especially since the command being run\n> _is_ `perl`. It might be sufficient simply to say:\n>\n>     ... codebase and run `perl contrib/contacts/git-contacts`.]\n>\n> Anyhow, it's a minor point.\n\nTrue.  In the original it was a good idea, but once we show the\ninvocation that is explicitly done with 'perl', we no longer need to\nsay that.\n\nThanks.\n"},{"id":"493112","messageId":"owlywmov4mg1.fsf@fine.c.googlers.com","threadId":"61250","inReplyTo":"xmqq8r1cczw8.fsf@gitster.g","subject":"Re: [PATCH v4 2/8] SubmittingPatches: clarify 'git-contacts' location","fromName":"Linus Arver","fromEmail":"linusa@google.com","sentAt":"2024-04-17T23:08:14Z","receivedAt":"2024-04-17T23:08:16Z","isPatch":true,"sender":{"key":"linus@ucla.edu","avatar":null},"body":"Junio C Hamano <gitster@pobox.com> writes:\n\n> Junio C Hamano <gitster@pobox.com> writes:\n>\n>> We are not installing this thing (yet), so how about giving an\n>> instruction to run \"perl contrib/contacts/git-contacts\", only\n>> assuming that the user is intelligent enough to be able to react to\n>> \"perl: not found\" by installing it on their path?\n>\n> That is, something like this, perhaps.\n>\n> As the string given to --cc-cmd is stored in $cc_cmd, and is used in\n> this call:\n>\n> \tpush @cc, recipients_cmd(\"cc-cmd\", \"cc\", $cc_cmd, $t, $quiet)\n>\n> where recipients_cmd takes ($prefix, $what, $cmd, $file, $quiet) and\n> runs execute_cmd($prefix, $cmd, $file).  execute_cmd in turn takes\n> ($prefix, $cmd, $file) and does this:\n>\n> \topen my $fh, \"-|\", \"$cmd \\Q$file\\E\"\n> \t\tor die sprintf(__(\"(%s) Could not execute '%s'\"), $prefix, $cmd);\n>\n> IOW, $cmd is just an early part of a shell command line that takes a\n> filename as its last argument, so I think it would be fine for $cmd\n> to be \"perl contrib/contacts/git-contacts\".  I did not test it, and\n> it would be appreciated if people can test it.\n\nI should be able to test this later this week.\n"},{"id":"493113","messageId":"owlyttjz4m75.fsf@fine.c.googlers.com","threadId":"61250","inReplyTo":"xmqq4jc0cag6.fsf@gitster.g","subject":"Re: [PATCH v4 2/8] SubmittingPatches: clarify 'git-contacts' location","fromName":"Linus Arver","fromEmail":"linusa@google.com","sentAt":"2024-04-17T23:13:34Z","receivedAt":"2024-04-17T23:13:35Z","isPatch":true,"sender":{"key":"linus@ucla.edu","avatar":null},"body":"Junio C Hamano <gitster@pobox.com> writes:\n\n> Eric Sunshine <sunshine@sunshineco.com> writes:\n>\n>>> @@ -1118,12 +1118,12 @@ valuable, such as changing the Reply-to address or adding more CC and BCC lines.\n>>> -codebase and run `contrib/contacts/git-contacts` (you must have Perl installed +\n>>> -in your system).]\n>>> +codebase and run `perl contrib/contacts/git-contacts` (you must have Perl +\n>>> +installed in your system).]\n>>\n>> I wonder if we really need to hand-hold so much to tell people that\n>> they must have Perl installed, especially since the command being run\n>> _is_ `perl`. It might be sufficient simply to say:\n>>\n>>     ... codebase and run `perl contrib/contacts/git-contacts`.]\n>>\n>> Anyhow, it's a minor point.\n>\n> True.  In the original it was a good idea, but once we show the\n> invocation that is explicitly done with 'perl', we no longer need to\n> say that.\n>\n\nAgreed. Will update (but will first try to test the 'perl ...' arg to\n--cc-cmd).\n"},{"id":"493147","messageId":"owlyle5a4jza.fsf@fine.c.googlers.com","threadId":"61250","inReplyTo":"owlywmov4mg1.fsf@fine.c.googlers.com","subject":"Re: [PATCH v4 2/8] SubmittingPatches: clarify 'git-contacts' location","fromName":"Linus Arver","fromEmail":"linusa@google.com","sentAt":"2024-04-18T18:13:45Z","receivedAt":"2024-04-18T18:13:47Z","isPatch":true,"sender":{"key":"linus@ucla.edu","avatar":null},"body":"Linus Arver <linusa@google.com> writes:\n\n> Junio C Hamano <gitster@pobox.com> writes:\n>\n>> Junio C Hamano <gitster@pobox.com> writes:\n>>\n>>> We are not installing this thing (yet), so how about giving an\n>>> instruction to run \"perl contrib/contacts/git-contacts\", only\n>>> assuming that the user is intelligent enough to be able to react to\n>>> \"perl: not found\" by installing it on their path?\n>>\n>> That is, something like this, perhaps.\n>>\n>> As the string given to --cc-cmd is stored in $cc_cmd, and is used in\n>> this call:\n>>\n>> \tpush @cc, recipients_cmd(\"cc-cmd\", \"cc\", $cc_cmd, $t, $quiet)\n>>\n>> where recipients_cmd takes ($prefix, $what, $cmd, $file, $quiet) and\n>> runs execute_cmd($prefix, $cmd, $file).  execute_cmd in turn takes\n>> ($prefix, $cmd, $file) and does this:\n>>\n>> \topen my $fh, \"-|\", \"$cmd \\Q$file\\E\"\n>> \t\tor die sprintf(__(\"(%s) Could not execute '%s'\"), $prefix, $cmd);\n>>\n>> IOW, $cmd is just an early part of a shell command line that takes a\n>> filename as its last argument, so I think it would be fine for $cmd\n>> to be \"perl contrib/contacts/git-contacts\".  I did not test it, and\n>> it would be appreciated if people can test it.\n>\n> I should be able to test this later this week.\n\nLooks like --cc-cmd=\"perl contrib/contacts/git-contacts\" works as\nexpected! I tested by setting up a working git-send-mail config and\nrunning with --dry-run to check the CC list.\n\nWill reroll later today. Cheers.\n"},{"id":"493162","messageId":"pull.1704.v6.git.1713477125.gitgitgadget@gmail.com","threadId":"61250","inReplyTo":"pull.1704.v5.git.1713308518.gitgitgadget@gmail.com","subject":"[PATCH v6 0/8] docs: recommend using contrib/contacts/git-contacts","fromName":"Linus Arver via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2024-04-18T21:51:57Z","receivedAt":"2024-04-18T21:52:09Z","isPatch":true,"sender":{"key":"linus@ucla.edu","avatar":null},"body":"Make git-contacts more prominent in our docs.\n\n\nNotable changes in v6\n=====================\n\n * Prefix the command with \"perl\" to avoid the need to have it installed at\n   /usr/bin/perl per the shebang line in git-contacts.\n * Drop \"you must have Perl installed in your system\" guidance because it's\n   a bit moot now given the explicit call to \"perl\".\n\n\nNotable changes in v5\n=====================\n\n * Drop mention of \"/usr/share/...\" as an \"installed\" path for\n   \"git-contacts\"; instead point users to the script as a relative path\n   inside the Git codebase\n * Minor wording tweaks to commit messages\n\n\nNotable changes in v4\n=====================\n\n * Avoid using \"should\" for guidance around using \"git-contacts\"\n * Clarify where to find the \"git-contacts\" script (because it's not a\n   default builtin command)\n\n\nNotable changes in v3\n=====================\n\n * Refer to GitGitGadget via a link to MyFirstContribution (instead of\n   sending readers to GGG's homepage directly)\n * Soften the advice for using git-contacts\n\n\nNotable changes in v2\n=====================\n\n * Improve existing mention of git-contacts in SubmittingPatches (instead of\n   adding a separate, entirely new paragraph)\n * Add example usage of integrating git-contacts with git-send-email with\n   the latter's --cc-cmd flag.\n * Various smaller fixes to SubmittingPatches\n\nLinus Arver (8):\n  MyFirstContribution: mention contrib/contacts/git-contacts\n  SubmittingPatches: clarify 'git-contacts' location\n  SubmittingPatches: mention GitGitGadget\n  SubmittingPatches: quote commands\n  SubmittingPatches: discuss reviewers first\n  SubmittingPatches: dedupe discussion of security patches\n  SubmittingPatches: add heading for format-patch and send-email\n  SubmittingPatches: demonstrate using git-contacts with git-send-email\n\n Documentation/MyFirstContribution.txt |  9 ++++\n Documentation/SubmittingPatches       | 72 ++++++++++++++++-----------\n 2 files changed, 51 insertions(+), 30 deletions(-)\n\n\nbase-commit: c2cbfbd2e28cbe27c194d62183b42f27a6a5bb87\nPublished-As: https://github.com/gitgitgadget/git/releases/tag/pr-1704%2Flistx%2Freviewers-v6\nFetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-1704/listx/reviewers-v6\nPull-Request: https://github.com/gitgitgadget/git/pull/1704\n\nRange-diff vs v5:\n\n 1:  d2c9551ee0e ! 1:  4ced981b82e MyFirstContribution: mention contrib/contacts/git-contacts\n     @@ Documentation/MyFirstContribution.txt: $ git send-email --to=target@example.com\n       \n      +:contrib-scripts: footnoteref:[contrib-scripts,Scripts under `contrib/` are +\n      +not part of the core `git` binary and must be called directly. Clone the Git +\n     -+codebase and run `contrib/contacts/git-contacts` (you must have Perl installed +\n     -+in your system).]\n     ++codebase and run `perl contrib/contacts/git-contacts`.]\n      +\n      +NOTE: If you're not sure whom to CC, running `contrib/contacts/git-contacts` can\n      +list potential reviewers. In addition, you can do `git send-email\n     -+--cc-cmd='contrib/contacts/git-contacts' feature/*.patch`{contrib-scripts} to\n     ++--cc-cmd='perl contrib/contacts/git-contacts' feature/*.patch`{contrib-scripts} to\n      +automatically pass this list of emails to `send-email`.\n      +\n       NOTE: When you are sending a real patch, it will go to git@vger.kernel.org - but\n 2:  92d72a8a25a ! 2:  f26f0695f40 SubmittingPatches: clarify 'git-contacts' location\n     @@ Documentation/SubmittingPatches: security relevant should not be submitted to th\n       \n      +:contrib-scripts: footnoteref:[contrib-scripts,Scripts under `contrib/` are +\n      +not part of the core `git` binary and must be called directly. Clone the Git +\n     -+codebase and run `contrib/contacts/git-contacts` (you must have Perl installed +\n     -+in your system).]\n     ++codebase and run `perl contrib/contacts/git-contacts`.]\n      +\n       Send your patch with \"To:\" set to the mailing list, with \"cc:\" listing\n      -people who are involved in the area you are touching (the `git\n 3:  7c4cc5a91f0 = 3:  c201b313644 SubmittingPatches: mention GitGitGadget\n 4:  621912a64fb = 4:  0a79615cf2f SubmittingPatches: quote commands\n 5:  8f44343c482 ! 5:  aac5dea0bfa SubmittingPatches: discuss reviewers first\n     @@ Documentation/SubmittingPatches: letter.\n      +\n      +:contrib-scripts: footnoteref:[contrib-scripts,Scripts under `contrib/` are +\n      +not part of the core `git` binary and must be called directly. Clone the Git +\n     -+codebase and run `contrib/contacts/git-contacts` (you must have Perl installed +\n     -+in your system).]\n     ++codebase and run `perl contrib/contacts/git-contacts`.]\n      +\n      +Send your patch with \"To:\" set to the mailing list, with \"cc:\" listing\n      +people who are involved in the area you are touching (the `git-contacts`\n     @@ Documentation/SubmittingPatches: patch, format it as \"multipart/signed\", not a t\n      -\n      -:contrib-scripts: footnoteref:[contrib-scripts,Scripts under `contrib/` are +\n      -not part of the core `git` binary and must be called directly. Clone the Git +\n     --codebase and run `contrib/contacts/git-contacts` (you must have Perl installed +\n     --in your system).]\n     +-codebase and run `perl contrib/contacts/git-contacts`.]\n      -\n      -Send your patch with \"To:\" set to the mailing list, with \"cc:\" listing\n      -people who are involved in the area you are touching (the `git-contacts`\n 6:  fd8ad38cab0 = 6:  333775d4129 SubmittingPatches: dedupe discussion of security patches\n 7:  b23c73459cc = 7:  ef031e30047 SubmittingPatches: add heading for format-patch and send-email\n 8:  911d4f2a0e5 ! 8:  f346da95ee2 SubmittingPatches: demonstrate using git-contacts with git-send-email\n     @@ Documentation/SubmittingPatches: trial merges of your topic to `next` and `seen`\n      +this:\n      +\n      +....\n     -+\tgit send-email --cc-cmd='contrib/contacts/git-contacts' feature/*.patch\n     ++\tgit send-email --cc-cmd='perl contrib/contacts/git-contacts' feature/*.patch\n      +....\n      +\n       :current-maintainer: footnote:[The current maintainer: gitster@pobox.com]\n\n-- \ngitgitgadget\n"},{"id":"493163","messageId":"4ced981b82e9978116592ad6533b683192d33bba.1713477125.git.gitgitgadget@gmail.com","threadId":"61250","inReplyTo":"pull.1704.v6.git.1713477125.gitgitgadget@gmail.com","subject":"[PATCH v6 1/8] MyFirstContribution: mention contrib/contacts/git-contacts","fromName":"Linus Arver via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2024-04-18T21:51:58Z","receivedAt":"2024-04-18T21:52:10Z","isPatch":true,"sender":{"key":"linus@ucla.edu","avatar":null},"body":"From: Linus Arver <linusa@google.com>\n\nAlthough we've had this script since 4d06402b1b (contrib: add\ngit-contacts helper, 2013-07-21), we don't mention it in our\nintroductory docs. Do so now.\n\nHelped-by: Junio C Hamano <gitster@pobox.com>\nSigned-off-by: Linus Arver <linusa@google.com>\n---\n Documentation/MyFirstContribution.txt | 9 +++++++++\n 1 file changed, 9 insertions(+)\n\ndiff --git a/Documentation/MyFirstContribution.txt b/Documentation/MyFirstContribution.txt\nindex f06563e9817..e41654c00a6 100644\n--- a/Documentation/MyFirstContribution.txt\n+++ b/Documentation/MyFirstContribution.txt\n@@ -1116,6 +1116,15 @@ $ git send-email --to=target@example.com psuh/*.patch\n NOTE: Check `git help send-email` for some other options which you may find\n valuable, such as changing the Reply-to address or adding more CC and BCC lines.\n \n+:contrib-scripts: footnoteref:[contrib-scripts,Scripts under `contrib/` are +\n+not part of the core `git` binary and must be called directly. Clone the Git +\n+codebase and run `perl contrib/contacts/git-contacts`.]\n+\n+NOTE: If you're not sure whom to CC, running `contrib/contacts/git-contacts` can\n+list potential reviewers. In addition, you can do `git send-email\n+--cc-cmd='perl contrib/contacts/git-contacts' feature/*.patch`{contrib-scripts} to\n+automatically pass this list of emails to `send-email`.\n+\n NOTE: When you are sending a real patch, it will go to git@vger.kernel.org - but\n please don't send your patchset from the tutorial to the real mailing list! For\n now, you can send it to yourself, to make sure you understand how it will look.\n-- \ngitgitgadget\n\n"},{"id":"493164","messageId":"f26f0695f404f242611e23f645a15af85d72d953.1713477125.git.gitgitgadget@gmail.com","threadId":"61250","inReplyTo":"pull.1704.v6.git.1713477125.gitgitgadget@gmail.com","subject":"[PATCH v6 2/8] SubmittingPatches: clarify 'git-contacts' location","fromName":"Linus Arver via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2024-04-18T21:51:59Z","receivedAt":"2024-04-18T21:52:10Z","isPatch":true,"sender":{"key":"linus@ucla.edu","avatar":null},"body":"From: Linus Arver <linusa@google.com>\n\nUse a dash (\"git-contacts\", not \"git contacts\") because the script is\nnot installed as part of \"git\" toolset. This also puts the script on\none line, which should make it easier to grep for with a loose search\nquery, such as\n\n    $ git grep git.contacts Documentation\n\nAlso add a footnote to describe where the script is located, to help\nreaders who may not be familiar with such \"contrib\" scripts (and how\nthey are not accessible with the usual \"git <subcommand>\" syntax).\n\nSigned-off-by: Linus Arver <linusa@google.com>\n---\n Documentation/SubmittingPatches | 8 ++++++--\n 1 file changed, 6 insertions(+), 2 deletions(-)\n\ndiff --git a/Documentation/SubmittingPatches b/Documentation/SubmittingPatches\nindex e734a3f0f17..d4173d4fe84 100644\n--- a/Documentation/SubmittingPatches\n+++ b/Documentation/SubmittingPatches\n@@ -493,9 +493,13 @@ security relevant should not be submitted to the public mailing list\n mentioned below, but should instead be sent privately to the Git\n Security mailing list{security-ml-ref}.\n \n+:contrib-scripts: footnoteref:[contrib-scripts,Scripts under `contrib/` are +\n+not part of the core `git` binary and must be called directly. Clone the Git +\n+codebase and run `perl contrib/contacts/git-contacts`.]\n+\n Send your patch with \"To:\" set to the mailing list, with \"cc:\" listing\n-people who are involved in the area you are touching (the `git\n-contacts` command in `contrib/contacts/` can help to\n+people who are involved in the area you are touching (the `git-contacts`\n+script in `contrib/contacts/`{contrib-scripts} can help to\n identify them), to solicit comments and reviews.  Also, when you made\n trial merges of your topic to `next` and `seen`, you may have noticed\n work by others conflicting with your changes.  There is a good possibility\n-- \ngitgitgadget\n\n"},{"id":"493165","messageId":"c201b3136446037f4d92cc0010d6f9ffa675202c.1713477125.git.gitgitgadget@gmail.com","threadId":"61250","inReplyTo":"pull.1704.v6.git.1713477125.gitgitgadget@gmail.com","subject":"[PATCH v6 3/8] SubmittingPatches: mention GitGitGadget","fromName":"Linus Arver via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2024-04-18T21:52:00Z","receivedAt":"2024-04-18T21:52:11Z","isPatch":true,"sender":{"key":"linus@ucla.edu","avatar":null},"body":"From: Linus Arver <linusa@google.com>\n\nSigned-off-by: Linus Arver <linusa@google.com>\n---\n Documentation/SubmittingPatches | 4 ++++\n 1 file changed, 4 insertions(+)\n\ndiff --git a/Documentation/SubmittingPatches b/Documentation/SubmittingPatches\nindex d4173d4fe84..26055a1fe2b 100644\n--- a/Documentation/SubmittingPatches\n+++ b/Documentation/SubmittingPatches\n@@ -408,6 +408,10 @@ are optimized for the workflow of sending patches, avoiding many ways\n your existing e-mail client (often optimized for \"multipart/*\" MIME\n type e-mails) might render your patches unusable.\n \n+NOTE: Here we outline the procedure using `format-patch` and\n+`send-email`, but you can instead use GitGitGadget to send in your\n+patches (see link:MyFirstContribution.html[MyFirstContribution]).\n+\n People on the Git mailing list need to be able to read and\n comment on the changes you are submitting.  It is important for\n a developer to be able to \"quote\" your changes, using standard\n-- \ngitgitgadget\n\n"},{"id":"493166","messageId":"0a79615cf2feea974be709e44326547ef31930c7.1713477125.git.gitgitgadget@gmail.com","threadId":"61250","inReplyTo":"pull.1704.v6.git.1713477125.gitgitgadget@gmail.com","subject":"[PATCH v6 4/8] SubmittingPatches: quote commands","fromName":"Linus Arver via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2024-04-18T21:52:01Z","receivedAt":"2024-04-18T21:52:13Z","isPatch":true,"sender":{"key":"linus@ucla.edu","avatar":null},"body":"From: Linus Arver <linusa@google.com>\n\nSigned-off-by: Linus Arver <linusa@google.com>\n---\n Documentation/SubmittingPatches | 2 +-\n 1 file changed, 1 insertion(+), 1 deletion(-)\n\ndiff --git a/Documentation/SubmittingPatches b/Documentation/SubmittingPatches\nindex 26055a1fe2b..6b9e954a47d 100644\n--- a/Documentation/SubmittingPatches\n+++ b/Documentation/SubmittingPatches\n@@ -403,7 +403,7 @@ Before sending any patches, please note that patches that may be\n security relevant should be submitted privately to the Git Security\n mailing list{security-ml}, instead of the public mailing list.\n \n-Learn to use format-patch and send-email if possible.  These commands\n+Learn to use `format-patch` and `send-email` if possible.  These commands\n are optimized for the workflow of sending patches, avoiding many ways\n your existing e-mail client (often optimized for \"multipart/*\" MIME\n type e-mails) might render your patches unusable.\n-- \ngitgitgadget\n\n"},{"id":"493167","messageId":"aac5dea0bfaea460da3c871ad6e722b6447d83ef.1713477125.git.gitgitgadget@gmail.com","threadId":"61250","inReplyTo":"pull.1704.v6.git.1713477125.gitgitgadget@gmail.com","subject":"[PATCH v6 5/8] SubmittingPatches: discuss reviewers first","fromName":"Linus Arver via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2024-04-18T21:52:02Z","receivedAt":"2024-04-18T21:52:13Z","isPatch":true,"sender":{"key":"linus@ucla.edu","avatar":null},"body":"From: Linus Arver <linusa@google.com>\n\nNo matter how well someone configures their email tooling, understanding\nwho to send the patches to is something that must always be considered.\nSo discuss it first instead of at the end.\n\nIn the following commit we will clean up the (now redundant) discussion\nabout sending security patches to the Git Security mailing list.\n\nSigned-off-by: Linus Arver <linusa@google.com>\n---\n Documentation/SubmittingPatches | 66 +++++++++++++++++----------------\n 1 file changed, 34 insertions(+), 32 deletions(-)\n\ndiff --git a/Documentation/SubmittingPatches b/Documentation/SubmittingPatches\nindex 6b9e954a47d..5d5046fa954 100644\n--- a/Documentation/SubmittingPatches\n+++ b/Documentation/SubmittingPatches\n@@ -397,6 +397,40 @@ letter.\n [[send-patches]]\n === Sending your patches.\n \n+==== Choosing your reviewers\n+\n+:security-ml-ref: footnoteref:[security-ml]\n+\n+As mentioned at the beginning of the section, patches that may be\n+security relevant should not be submitted to the public mailing list\n+mentioned below, but should instead be sent privately to the Git\n+Security mailing list{security-ml-ref}.\n+\n+:contrib-scripts: footnoteref:[contrib-scripts,Scripts under `contrib/` are +\n+not part of the core `git` binary and must be called directly. Clone the Git +\n+codebase and run `perl contrib/contacts/git-contacts`.]\n+\n+Send your patch with \"To:\" set to the mailing list, with \"cc:\" listing\n+people who are involved in the area you are touching (the `git-contacts`\n+script in `contrib/contacts/`{contrib-scripts} can help to\n+identify them), to solicit comments and reviews.  Also, when you made\n+trial merges of your topic to `next` and `seen`, you may have noticed\n+work by others conflicting with your changes.  There is a good possibility\n+that these people may know the area you are touching well.\n+\n+:current-maintainer: footnote:[The current maintainer: gitster@pobox.com]\n+:git-ml: footnote:[The mailing list: git@vger.kernel.org]\n+\n+After the list reached a consensus that it is a good idea to apply the\n+patch, re-send it with \"To:\" set to the maintainer{current-maintainer}\n+and \"cc:\" the list{git-ml} for inclusion.  This is especially relevant\n+when the maintainer did not heavily participate in the discussion and\n+instead left the review to trusted others.\n+\n+Do not forget to add trailers such as `Acked-by:`, `Reviewed-by:` and\n+`Tested-by:` lines as necessary to credit people who helped your\n+patch, and \"cc:\" them when sending such a final version for inclusion.\n+\n :security-ml: footnoteref:[security-ml,The Git Security mailing list: git-security@googlegroups.com]\n \n Before sending any patches, please note that patches that may be\n@@ -490,38 +524,6 @@ patch, format it as \"multipart/signed\", not a text/plain message\n that starts with `-----BEGIN PGP SIGNED MESSAGE-----`.  That is\n not a text/plain, it's something else.\n \n-:security-ml-ref: footnoteref:[security-ml]\n-\n-As mentioned at the beginning of the section, patches that may be\n-security relevant should not be submitted to the public mailing list\n-mentioned below, but should instead be sent privately to the Git\n-Security mailing list{security-ml-ref}.\n-\n-:contrib-scripts: footnoteref:[contrib-scripts,Scripts under `contrib/` are +\n-not part of the core `git` binary and must be called directly. Clone the Git +\n-codebase and run `perl contrib/contacts/git-contacts`.]\n-\n-Send your patch with \"To:\" set to the mailing list, with \"cc:\" listing\n-people who are involved in the area you are touching (the `git-contacts`\n-script in `contrib/contacts/`{contrib-scripts} can help to\n-identify them), to solicit comments and reviews.  Also, when you made\n-trial merges of your topic to `next` and `seen`, you may have noticed\n-work by others conflicting with your changes.  There is a good possibility\n-that these people may know the area you are touching well.\n-\n-:current-maintainer: footnote:[The current maintainer: gitster@pobox.com]\n-:git-ml: footnote:[The mailing list: git@vger.kernel.org]\n-\n-After the list reached a consensus that it is a good idea to apply the\n-patch, re-send it with \"To:\" set to the maintainer{current-maintainer}\n-and \"cc:\" the list{git-ml} for inclusion.  This is especially relevant\n-when the maintainer did not heavily participate in the discussion and\n-instead left the review to trusted others.\n-\n-Do not forget to add trailers such as `Acked-by:`, `Reviewed-by:` and\n-`Tested-by:` lines as necessary to credit people who helped your\n-patch, and \"cc:\" them when sending such a final version for inclusion.\n-\n == Subsystems with dedicated maintainers\n \n Some parts of the system have dedicated maintainers with their own\n-- \ngitgitgadget\n\n"},{"id":"493168","messageId":"333775d4129bc94aac5f872113d07851ffc19040.1713477125.git.gitgitgadget@gmail.com","threadId":"61250","inReplyTo":"pull.1704.v6.git.1713477125.gitgitgadget@gmail.com","subject":"[PATCH v6 6/8] SubmittingPatches: dedupe discussion of security patches","fromName":"Linus Arver via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2024-04-18T21:52:03Z","receivedAt":"2024-04-18T21:52:14Z","isPatch":true,"sender":{"key":"linus@ucla.edu","avatar":null},"body":"From: Linus Arver <linusa@google.com>\n\nSigned-off-by: Linus Arver <linusa@google.com>\n---\n Documentation/SubmittingPatches | 15 ++++-----------\n 1 file changed, 4 insertions(+), 11 deletions(-)\n\ndiff --git a/Documentation/SubmittingPatches b/Documentation/SubmittingPatches\nindex 5d5046fa954..dd248513a50 100644\n--- a/Documentation/SubmittingPatches\n+++ b/Documentation/SubmittingPatches\n@@ -399,12 +399,11 @@ letter.\n \n ==== Choosing your reviewers\n \n-:security-ml-ref: footnoteref:[security-ml]\n+:security-ml: footnoteref:[security-ml,The Git Security mailing list: git-security@googlegroups.com]\n \n-As mentioned at the beginning of the section, patches that may be\n-security relevant should not be submitted to the public mailing list\n-mentioned below, but should instead be sent privately to the Git\n-Security mailing list{security-ml-ref}.\n+NOTE: Patches that may be\n+security relevant should be submitted privately to the Git Security\n+mailing list{security-ml}, instead of the public mailing list.\n \n :contrib-scripts: footnoteref:[contrib-scripts,Scripts under `contrib/` are +\n not part of the core `git` binary and must be called directly. Clone the Git +\n@@ -431,12 +430,6 @@ Do not forget to add trailers such as `Acked-by:`, `Reviewed-by:` and\n `Tested-by:` lines as necessary to credit people who helped your\n patch, and \"cc:\" them when sending such a final version for inclusion.\n \n-:security-ml: footnoteref:[security-ml,The Git Security mailing list: git-security@googlegroups.com]\n-\n-Before sending any patches, please note that patches that may be\n-security relevant should be submitted privately to the Git Security\n-mailing list{security-ml}, instead of the public mailing list.\n-\n Learn to use `format-patch` and `send-email` if possible.  These commands\n are optimized for the workflow of sending patches, avoiding many ways\n your existing e-mail client (often optimized for \"multipart/*\" MIME\n-- \ngitgitgadget\n\n"},{"id":"493169","messageId":"ef031e3004739fabe2ed07e33cd5b23451429f8f.1713477125.git.gitgitgadget@gmail.com","threadId":"61250","inReplyTo":"pull.1704.v6.git.1713477125.gitgitgadget@gmail.com","subject":"[PATCH v6 7/8] SubmittingPatches: add heading for format-patch and send-email","fromName":"Linus Arver via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2024-04-18T21:52:04Z","receivedAt":"2024-04-18T21:52:15Z","isPatch":true,"sender":{"key":"linus@ucla.edu","avatar":null},"body":"From: Linus Arver <linusa@google.com>\n\nSigned-off-by: Linus Arver <linusa@google.com>\n---\n Documentation/SubmittingPatches | 2 ++\n 1 file changed, 2 insertions(+)\n\ndiff --git a/Documentation/SubmittingPatches b/Documentation/SubmittingPatches\nindex dd248513a50..ef3985459a4 100644\n--- a/Documentation/SubmittingPatches\n+++ b/Documentation/SubmittingPatches\n@@ -430,6 +430,8 @@ Do not forget to add trailers such as `Acked-by:`, `Reviewed-by:` and\n `Tested-by:` lines as necessary to credit people who helped your\n patch, and \"cc:\" them when sending such a final version for inclusion.\n \n+==== `format-patch` and `send-email`\n+\n Learn to use `format-patch` and `send-email` if possible.  These commands\n are optimized for the workflow of sending patches, avoiding many ways\n your existing e-mail client (often optimized for \"multipart/*\" MIME\n-- \ngitgitgadget\n\n"},{"id":"493170","messageId":"f346da95ee22e0bec3e147df7aa8fb9bd0f91aa5.1713477125.git.gitgitgadget@gmail.com","threadId":"61250","inReplyTo":"pull.1704.v6.git.1713477125.gitgitgadget@gmail.com","subject":"[PATCH v6 8/8] SubmittingPatches: demonstrate using git-contacts with git-send-email","fromName":"Linus Arver via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2024-04-18T21:52:05Z","receivedAt":"2024-04-18T21:52:16Z","isPatch":true,"sender":{"key":"linus@ucla.edu","avatar":null},"body":"From: Linus Arver <linusa@google.com>\n\nSigned-off-by: Linus Arver <linusa@google.com>\n---\n Documentation/SubmittingPatches | 7 +++++++\n 1 file changed, 7 insertions(+)\n\ndiff --git a/Documentation/SubmittingPatches b/Documentation/SubmittingPatches\nindex ef3985459a4..b684e28c0d0 100644\n--- a/Documentation/SubmittingPatches\n+++ b/Documentation/SubmittingPatches\n@@ -417,6 +417,13 @@ trial merges of your topic to `next` and `seen`, you may have noticed\n work by others conflicting with your changes.  There is a good possibility\n that these people may know the area you are touching well.\n \n+If you are using `send-email`, you can feed it the output of `git-contacts` like\n+this:\n+\n+....\n+\tgit send-email --cc-cmd='perl contrib/contacts/git-contacts' feature/*.patch\n+....\n+\n :current-maintainer: footnote:[The current maintainer: gitster@pobox.com]\n :git-ml: footnote:[The mailing list: git@vger.kernel.org]\n \n-- \ngitgitgadget\n"},{"id":"493171","messageId":"xmqqbk66pc5w.fsf@gitster.g","threadId":"61250","inReplyTo":"pull.1704.v6.git.1713477125.gitgitgadget@gmail.com","subject":"Re: [PATCH v6 0/8] docs: recommend using contrib/contacts/git-contacts","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2024-04-18T21:56:59Z","receivedAt":"2024-04-18T21:57:05Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"\"Linus Arver via GitGitGadget\" <gitgitgadget@gmail.com> writes:\n\n> Make git-contacts more prominent in our docs.\n>\n>\n> Notable changes in v6\n> =====================\n>\n>  * Prefix the command with \"perl\" to avoid the need to have it installed at\n>    /usr/bin/perl per the shebang line in git-contacts.\n>  * Drop \"you must have Perl installed in your system\" guidance because it's\n>    a bit moot now given the explicit call to \"perl\".\n\nLooking good.  Will queue.  Hopefully we can have this in the -rc,\nas it is a low risk documentaiton-only change?\n\nThanks.\n"}]}