From: Dave Huseby <hidden> Date: 2021-05-12 02:54:51
After violating a few unspoken etiquette rules that were spotted by
Christian Couder [off-list ref], Filipe Contreras
[off-list ref] suggested that somebody write a guide.
Since I was the latest cause of this perenial discussion, I took it upon
myself to learn from my mistakes and document the fixes.
Thanks to Junio [off-list ref] for providing links to similar
discussions in the past and Stefan Moch [off-list ref] for
pointing out where the related documentation already existed in the
tree.
Signed-off-by: Dave Huseby <redacted>
---
Documentation/MailingListEtiquette.txt | 125 +++++++++++++++++++++++++
1 file changed, 125 insertions(+)
create mode 100644 Documentation/MailingListEtiquette.txt
@@ -0,0 +1,125 @@+Mailing List Etiquette+======================++[[introduction]]+== Introduction++Open source, community projects such as Git use a mailing list and email to+coordinate development and to submit patches for review. This article documents+the unspoken rules and etiquette for the proper way to send email to the+mailing list. What follows are considered best practices to follow.++If you are looking for details on how to submit a patch, that is documented+elsewhere in:++- `Documentation/SubmittingPatches`+- `Documentation/MyFirstContribution.txt`++[[proper-use-of-to-and-cc]]+== Proper Use of To and Cc++When starting a new email thread that is not directed at any specific person,+put the mailing list address in the "To:" field, otherwise address it to the+person and put the mailing list address in the "Cc:" field.++When replying to an email on the mailing list, put the person you are replying+to in the "To:" field and all other people in the thread in the "Cc:" field,+including the mailing list address.++Make sure to keep everyone involved in the "Cc:" field so that they do not have+to be subscribed to the mailing list to receive replies.++[[do-not-use-mail-followup-to]]+== Do Not Use Mail-Followup-To++When posting to the mailing list, your email client might add a+"Mail-Followup-To:" field which contains all of the recipients, including the+mailing list address, but not the sender's email address. This is intended to+prevent the sender from receiving replies twice, once from the replying person+and again from the mailing list.++This goes directly against the desired "To:" and "Cc:" etiquette (see "Proper+Use of To and Cc" above). Most users want to use "group reply" or "Reply to+all" in their mail client and create a reply email that is sent directly to+author of the email they are replying to with all other recipients, as well as+the mailing list address, in the "Cc:" field.++The proper thing to do is to never use the "Mail-Followup-To:" field as well as+disable honoring any "Mail-Followup-To:" fields in any emails you reply to.+Some email clients come with both enabled by default. Mutt is like this (see+Disable Mail-Followup-To in the Mutt section below).++[[enable-plain-text-mode]]+== Enable Plain Text Mode++Most email clients automatically reject mailing list email if it is not a+text/plain formatted email. For that reason, it is important that your email+client is set to create text/plain emails instead of text/enriched or+text/html email.++[[patches-that-receive-no-response]]++From Junio's notes from the maintainer:++> If you sent a patch and you did not hear any response from anybody for+> several days, it could be that your patch was totally uninteresting,+> but it also is possible that it was simply lost in the noise. Please+> do not hesitate to send a reminder message in such a case. Messages+> getting lost in the noise may be a sign that those who can evaluate+> your patch don't have enough mental/time bandwidth to process them+> right at the moment, and it often helps to wait until the list traffic+> becomes calmer before sending such a reminder.++[[send-merge-ready-patches-to-the-maintainer]]+== Send Merge-Ready Patches to the Maintainer++Once a patch has achieved consensus and all stakeholders are staisfied and+everything is ready for merging, then you send it to the maintainer: "To:+gitster@pobox.com".++[[mutt-config]]+== Mutt Config++This section has suggestions for how to set up Mutt to be polite.++[[known-mailing-lists]]+=== Known Mailing Lists++Mutt has the ability to change its behavior when replying to a mailing list. For+Mutt to know when an address is a mailing list, use the `subscribe` keyword in+your Mutt configuration:++**~/.muttrc:**+```+# tell Mutt about the Git mailing list+subscribe git@vger.kernel.org+```++[[reply-properly]]+=== Reply Properly++By default, Mutt uses the 'g' and 'L' hotkeys to execute a "group reply" or+"list reply" respectively. A "group reply" creates an email addressed to the+sender with all other recipients in the "Cc". A "list reply" starts an email+addressed only to the mailing list without anybody else as "Cc".++Per rule X, Y, and Z above, using "group reply" in Mutt is what you want to do.++[[disable-mail-followup-to]]+=== Disable Mail-Followup-To++By default, when replying to mailing lists, Mutt will automatically generate+"Mail-Followup-To" headers. To fix this, disable the generation of the header+in your Mutt configuration. It is also a good idea to disable honoring any+"Mail-Followup-To" headers so that any "group reply" operations are correctly+addressed.++**~/.muttrc:**+```+# disable Mail-Followup-To header+unset followup_to++# disable honoring Mail-Followup-To header+unset honor_followup_to+```+
From: Dave Huseby <hidden> Date: 2021-05-12 02:57:49
Doh! I forgot to make this patch In-Reply-To the previous thread that
sparked this discussion. Well, at least this patch email doesn't have a
Mail-Followup-To header.
Cheers!
Dave
From: Dave Huseby <hidden> Date: 2021-05-12 03:18:52
Aaaand I forgot to Cc all of the relevant people from the previous
thread. I also messed up a name and email in the previous commit
messages. Both are fixed. It's been a long day :)
Cheers!
Dave
From: Dave Huseby <hidden> Date: 2021-05-12 03:18:53
After violating a few unspoken etiquette rules that were spotted by
Christian Couder [off-list ref], Filipe Contreras
[off-list ref] suggested that somebody write a guide.
Since I was the latest cause of this perenial discussion, I took it upon
myself to learn from my mistakes and document the fixes.
Thanks to Junio [off-list ref] for providing links to similar
discussions in the past and Stefan Moch [off-list ref] for
pointing out where the related documentation already existed in the
tree.
Signed-off-by: Dave Huseby <redacted>
---
Documentation/MailingListEtiquette.txt | 125 +++++++++++++++++++++++++
1 file changed, 125 insertions(+)
create mode 100644 Documentation/MailingListEtiquette.txt
@@ -0,0 +1,125 @@+Mailing List Etiquette+======================++[[introduction]]+== Introduction++Open source, community projects such as Git use a mailing list and email to+coordinate development and to submit patches for review. This article documents+the unspoken rules and etiquette for the proper way to send email to the+mailing list. What follows are considered best practices to follow.++If you are looking for details on how to submit a patch, that is documented+elsewhere in:++- `Documentation/SubmittingPatches`+- `Documentation/MyFirstContribution.txt`++[[proper-use-of-to-and-cc]]+== Proper Use of To and Cc++When starting a new email thread that is not directed at any specific person,+put the mailing list address in the "To:" field, otherwise address it to the+person and put the mailing list address in the "Cc:" field.++When replying to an email on the mailing list, put the person you are replying+to in the "To:" field and all other people in the thread in the "Cc:" field,+including the mailing list address.++Make sure to keep everyone involved in the "Cc:" field so that they do not have+to be subscribed to the mailing list to receive replies.++[[do-not-use-mail-followup-to]]+== Do Not Use Mail-Followup-To++When posting to the mailing list, your email client might add a+"Mail-Followup-To:" field which contains all of the recipients, including the+mailing list address, but not the sender's email address. This is intended to+prevent the sender from receiving replies twice, once from the replying person+and again from the mailing list.++This goes directly against the desired "To:" and "Cc:" etiquette (see "Proper+Use of To and Cc" above). Most users want to use "group reply" or "Reply to+all" in their mail client and create a reply email that is sent directly to+author of the email they are replying to with all other recipients, as well as+the mailing list address, in the "Cc:" field.++The proper thing to do is to never use the "Mail-Followup-To:" field as well as+disable honoring any "Mail-Followup-To:" fields in any emails you reply to.+Some email clients come with both enabled by default. Mutt is like this (see+Disable Mail-Followup-To in the Mutt section below).++[[enable-plain-text-mode]]+== Enable Plain Text Mode++Most email clients automatically reject mailing list email if it is not a+text/plain formatted email. For that reason, it is important that your email+client is set to create text/plain emails instead of text/enriched or+text/html email.++[[patches-that-receive-no-response]]++From Junio's notes from the maintainer:++> If you sent a patch and you did not hear any response from anybody for+> several days, it could be that your patch was totally uninteresting,+> but it also is possible that it was simply lost in the noise. Please+> do not hesitate to send a reminder message in such a case. Messages+> getting lost in the noise may be a sign that those who can evaluate+> your patch don't have enough mental/time bandwidth to process them+> right at the moment, and it often helps to wait until the list traffic+> becomes calmer before sending such a reminder.++[[send-merge-ready-patches-to-the-maintainer]]+== Send Merge-Ready Patches to the Maintainer++Once a patch has achieved consensus and all stakeholders are staisfied and+everything is ready for merging, then you send it to the maintainer: "To:+gitster@pobox.com".++[[mutt-config]]+== Mutt Config++This section has suggestions for how to set up Mutt to be polite.++[[known-mailing-lists]]+=== Known Mailing Lists++Mutt has the ability to change its behavior when replying to a mailing list. For+Mutt to know when an address is a mailing list, use the `subscribe` keyword in+your Mutt configuration:++**~/.muttrc:**+```+# tell Mutt about the Git mailing list+subscribe git@vger.kernel.org+```++[[reply-properly]]+=== Reply Properly++By default, Mutt uses the 'g' and 'L' hotkeys to execute a "group reply" or+"list reply" respectively. A "group reply" creates an email addressed to the+sender with all other recipients in the "Cc". A "list reply" starts an email+addressed only to the mailing list without anybody else as "Cc".++Per rule X, Y, and Z above, using "group reply" in Mutt is what you want to do.++[[disable-mail-followup-to]]+=== Disable Mail-Followup-To++By default, when replying to mailing lists, Mutt will automatically generate+"Mail-Followup-To" headers. To fix this, disable the generation of the header+in your Mutt configuration. It is also a good idea to disable honoring any+"Mail-Followup-To" headers so that any "group reply" operations are correctly+addressed.++**~/.muttrc:**+```+# disable Mail-Followup-To header+unset followup_to++# disable honoring Mail-Followup-To header+unset honor_followup_to+```+
After violating a few unspoken etiquette rules that were spotted by
Christian Couder [off-list ref], Filipe Contreras
[off-list ref] suggested that somebody write a guide.
Since I was the latest cause of this perenial discussion, I took it upon
myself to learn from my mistakes and document the fixes.
Thanks to Junio [off-list ref] for providing links to similar
discussions in the past and Stefan Moch [off-list ref] for
pointing out where the related documentation already existed in the
tree.
Signed-off-by: Dave Huseby <redacted>
---
Documentation/MailingListEtiquette.txt | 125 +++++++++++++++++++++++++
1 file changed, 125 insertions(+)
create mode 100644 Documentation/MailingListEtiquette.txt
@@ -0,0 +1,125 @@+Mailing List Etiquette+======================++[[introduction]]+== Introduction++Open source, community projects such as Git use a mailing list and email to+coordinate development and to submit patches for review. This article documents+the unspoken rules and etiquette for the proper way to send email to the+mailing list. What follows are considered best practices to follow.+
But not all open source projects use mailing lists. Most (but not all, also
excluding Git) projects use Pull Requests (PR) as a way to submit patches and
for review.
Of course, some projects that use PR also coordinate their development using
mailing lists, patches submissions are done the other way.
So we can say "Several (but not all) open source, community projects such as
Git use a mailing list to coordinate development AND to submit patches for
review". Note the emphasized AND.
+If you are looking for details on how to submit a patch, that is documented
+elsewhere in:
+
+- `Documentation/SubmittingPatches`
+- `Documentation/MyFirstContribution.txt`
+
+[[proper-use-of-to-and-cc]]
+== Proper Use of To and Cc
+
+When starting a new email thread that is not directed at any specific person,
+put the mailing list address in the "To:" field, otherwise address it to the
+person and put the mailing list address in the "Cc:" field.
+
+When replying to an email on the mailing list, put the person you are replying
+to in the "To:" field and all other people in the thread in the "Cc:" field,
+including the mailing list address.
+
+Make sure to keep everyone involved in the "Cc:" field so that they do not have
+to be subscribed to the mailing list to receive replies.
+
+[[do-not-use-mail-followup-to]]
+== Do Not Use Mail-Followup-To
+
+When posting to the mailing list, your email client might add a
+"Mail-Followup-To:" field which contains all of the recipients, including the
+mailing list address, but not the sender's email address. This is intended to
+prevent the sender from receiving replies twice, once from the replying person
+and again from the mailing list.
+
+This goes directly against the desired "To:" and "Cc:" etiquette (see "Proper
+Use of To and Cc" above). Most users want to use "group reply" or "Reply to
+all" in their mail client and create a reply email that is sent directly to
+author of the email they are replying to with all other recipients, as well as
+the mailing list address, in the "Cc:" field.
+
+The proper thing to do is to never use the "Mail-Followup-To:" field as well as
+disable honoring any "Mail-Followup-To:" fields in any emails you reply to.
+Some email clients come with both enabled by default. Mutt is like this (see
+Disable Mail-Followup-To in the Mutt section below).
+
Better say "Some email clients, such as Mutt (see Disable Mail-Followup-To in
mutt-config section below) come with both enabled by default."
+[[enable-plain-text-mode]]
+== Enable Plain Text Mode
+
+Most email clients automatically reject mailing list email if it is not a
+text/plain formatted email. For that reason, it is important that your email
+client is set to create text/plain emails instead of text/enriched or
+text/html email.
+
+[[patches-that-receive-no-response]]
+
+From Junio's notes from the maintainer:
+
+> If you sent a patch and you did not hear any response from anybody for
+> several days, it could be that your patch was totally uninteresting,
+> but it also is possible that it was simply lost in the noise. Please
+> do not hesitate to send a reminder message in such a case. Messages
+> getting lost in the noise may be a sign that those who can evaluate
+> your patch don't have enough mental/time bandwidth to process them
+> right at the moment, and it often helps to wait until the list traffic
+> becomes calmer before sending such a reminder.
+
Is "Review ping" enough for reminder purpose?
+[[send-merge-ready-patches-to-the-maintainer]]
+== Send Merge-Ready Patches to the Maintainer
+
+Once a patch has achieved consensus and all stakeholders are staisfied and
+everything is ready for merging, then you send it to the maintainer: "To:
+gitster@pobox.com".
+
I see the typo. s/staisfied/satisfied/
Let's say that we had consented that my patch series was deemed ready at
v5 version. From the paragraph above, I interpreted it as "now my series
was consented ready, I need to send v6 to Junio (current Git maintainer)".
In practice, the maintainer could instead merged v5 (without having me to
send v6 [final]), because v5 is merge-ready in absence of maintainer's
email address in either To: or Cc:.
Oh yeah, should mailing list's address be also in To:/Cc: when sending
merge-ready patch series?
+[[mutt-config]]
+== Mutt Config
+
+This section has suggestions for how to set up Mutt to be polite.
+
Better say "This section suggests how to set up Mutt to be conformant
to the etiquette above.".
+[[known-mailing-lists]]
+=== Known Mailing Lists
+
+Mutt has the ability to change its behavior when replying to a mailing list. For
+Mutt to know when an address is a mailing list, use the `subscribe` keyword in
+your Mutt configuration:
+
Better say "... specify mailing list address on `subscribe` command in your Mutt
configuration:".
+**~/.muttrc:**
+```
+# tell Mutt about the Git mailing list
+subscribe git@vger.kernel.org
+```
+
+[[reply-properly]]
+=== Reply Properly
+
+By default, Mutt uses the 'g' and 'L' hotkeys to execute a "group reply" or
+"list reply" respectively. A "group reply" creates an email addressed to the
+sender with all other recipients in the "Cc". A "list reply" starts an email
+addressed only to the mailing list without anybody else as "Cc".
+
+Per rule X, Y, and Z above, using "group reply" in Mutt is what you want to do.
+
+[[disable-mail-followup-to]]
+=== Disable Mail-Followup-To
+
+By default, when replying to mailing lists, Mutt will automatically generate
+"Mail-Followup-To" headers. To fix this, disable the generation of the header
+in your Mutt configuration. It is also a good idea to disable honoring any
+"Mail-Followup-To" headers so that any "group reply" operations are correctly
+addressed.
+
+**~/.muttrc:**
+```
+# disable Mail-Followup-To header
+unset followup_to
+
+# disable honoring Mail-Followup-To header
+unset honor_followup_to
+```
+
Thanks.
--
An old man doll... just what I always wanted! - Clara
From: Felipe Contreras <hidden> Date: 2021-05-12 06:21:08
Dave Huseby wrote:
After violating a few unspoken etiquette rules that were spotted by
Christian Couder [off-list ref], Filipe Contreras
[off-list ref] suggested that somebody write a guide.
Thanks for doing this. It's hard for seasoned developers to spot the
gaps in documentation, and that's why it's so important for newcomers to
fill them before they themselve get too accustomed with the project.
@@ -0,0 +1,125 @@+Mailing List Etiquette+======================++[[introduction]]+== Introduction++Open source, community projects such as Git use a mailing list and email to+coordinate development and to submit patches for review. This article documents+the unspoken rules and etiquette for the proper way to send email to the+mailing list. What follows are considered best practices to follow.
Some open source projects--such as Git--use email to...
Some open source projects do, certainly not all.
+If you are looking for details on how to submit a patch, that is documented
+elsewhere in:
+
+- `Documentation/SubmittingPatches`
+- `Documentation/MyFirstContribution.txt`
+
+[[proper-use-of-to-and-cc]]
+== Proper Use of To and Cc
+
+When starting a new email thread that is not directed at any specific person,
+put the mailing list address in the "To:" field, otherwise address it to the
+person and put the mailing list address in the "Cc:" field.
+
+When replying to an email on the mailing list, put the person you are replying
+to in the "To:" field and all other people in the thread in the "Cc:" field,
+including the mailing list address.
+
+Make sure to keep everyone involved in the "Cc:" field so that they do not have
+to be subscribed to the mailing list to receive replies.
Although all this is OK, I don't think it matters much who you put in
Cc, and who in the To fields.
As long as everyone involved--including the mailing list--is in both
fields, you are fine.
+[[do-not-use-mail-followup-to]]
+== Do Not Use Mail-Followup-To
Er, this is improtant, but it shouldn't be #2.
There's a lot of things more important than this, for example something
I encountered recently...
Do not top-post [1], and try to remove as much context as possible.
Only leave the context that is important for your reply.
In fact, this opens the possiblity for some much needed levity...
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
A: Top-posting.
Q: What is the most annoying thing in e-mail?
This is especially important for people coming from corporate
environments where top-posting is the norm, and no context is ever
deleted.
[1] https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
+[[enable-plain-text-mode]]
+== Enable Plain Text Mode
+
+Most email clients automatically reject mailing list email if it is not a
+text/plain formatted email.
It's not the email clients, it's the mailing list software itself.
Either way this is important.
+[[patches-that-receive-no-response]]
+
+From Junio's notes from the maintainer:
+
+> If you sent a patch and you did not hear any response from anybody for
+> several days, it could be that your patch was totally uninteresting,
+> but it also is possible that it was simply lost in the noise. Please
+> do not hesitate to send a reminder message in such a case. Messages
+> getting lost in the noise may be a sign that those who can evaluate
+> your patch don't have enough mental/time bandwidth to process them
+> right at the moment, and it often helps to wait until the list traffic
+> becomes calmer before sending such a reminder.
This is important for other mails, like bug reports, and questions, not
just patches.
Another very general aspect of the git mailing list (and others
similar), is that you should never be afraid of simply sending a
point-blank mail to the mailinsg list.
You don't need to subscribe, and you don't need to look for people to
Cc... Just send the mail.
It's generally better to just send the mail than not send it (even if
people like Dave are bitten by their configuration).
Cheers.
--
Felipe Contreras
From: Felipe Contreras <hidden> Date: 2021-05-12 06:25:40
Dave Huseby wrote:
Doh! I forgot to make this patch In-Reply-To the previous thread that
sparked this discussion. Well, at least this patch email doesn't have a
Mail-Followup-To header.
Ahh, that reminds me of another point I wanted to raise.
In general people should try to start new threads rather than recycle
old ones (unless specifically necessary).
I suspect this is contentious at this point, but I personally belive
this is the way to go.
If people align with my view, then you did the correct thing by starting
a new thread rather than using In-Reply-To. We'll see.
--
Felipe Contreras
From: Felipe Contreras <hidden> Date: 2021-05-12 06:45:21
Bagas Sanjaya wrote:
Let's say that we had consented that my patch series was deemed ready at
v5 version. From the paragraph above, I interpreted it as "now my series
was consented ready, I need to send v6 to Junio (current Git maintainer)".
In practice, the maintainer could instead merged v5 (without having me to
send v6 [final]), because v5 is merge-ready in absence of maintainer's
email address in either To: or Cc:.
Yes and no.
Consensus, mearge-ready status, and merged, are three very diffent
concepts. Generally they are one-and-the-same, but not always.
1. A patch can have consensus, and yet Junio doesn't merge it
2. A patch may not have consensus, and yet Junio merges it
3. A patch may be merge-ready, no consensus, and yet merged
4. A patch may be merge-ready, no consensus, and unmerged
...
I'm not going through every combination... You get the point.
Generally you don't need to worry about this, that's Junio's job. If
your patch is ready, Junio will merge it... But not always.
So no, you don't need to send v6, Junio will pick v5. If he doesn't,
it's most likely because it slipped through the cracks, and you can see
that in the next "What's cooking in git.git".
If you don't see your merge-ready patch series in "what's cooking", then
by all means send it again as v6, or reply to the "what's cooking" or
something. But generally there's no point in sending a v6 identical to a
v5.
Just poke Junio.
Oh yeah, should mailing list's address be also in To:/Cc: when sending
merge-ready patch series?
IMO the maxim should be: if it's relevant to git, send it to to the git
mailing list... *Always*... Don't ever hesitate.
But if you already sent a v5 that is is merge-ready, there's no need
to send an identical v6.
All these suggestions are of course based on my own experience. Others
might have different experiences.
Cheers.
--
Felipe Contreras
From: Eric Sunshine <hidden> Date: 2021-05-12 07:35:47
On Wed, May 12, 2021 at 2:45 AM Felipe Contreras
[off-list ref] wrote:
Bagas Sanjaya wrote:
quoted
In practice, the maintainer could instead merged v5 (without having me to
send v6 [final]), because v5 is merge-ready in absence of maintainer's
email address in either To: or Cc:.
Generally you don't need to worry about this, that's Junio's job. If
your patch is ready, Junio will merge it... But not always.
So no, you don't need to send v6, Junio will pick v5. If he doesn't,
it's most likely because it slipped through the cracks, and you can see
that in the next "What's cooking in git.git".
If you don't see your merge-ready patch series in "what's cooking", then
by all means send it again as v6, or reply to the "what's cooking" or
something. But generally there's no point in sending a v6 identical to a
v5.
But if you already sent a v5 that is is merge-ready, there's no need
to send an identical v6.
All these suggestions are of course based on my own experience. Others
might have different experiences.
This has been my experience, as well. I've never sent a v6 with Junio
as an explicit recipient, but which was otherwise identical to v5.
Another reason to avoid sending v6 which is identical to v5 is that it
potentially wastes reviewer bandwidth.
The advice which seems to have triggered this particular discussion
comes from Documentation/SubmittingPatches:
After the list reached a consensus that it is a good idea to
apply the patch, re-send it with "To:" set to the
maintainer{current-maintainer} and "cc:" the list{git-ml} for
inclusion. This is especially relevant when the maintainer did
not heavily participate in the discussion and instead left the
review to trusted others.
It's not the first time this advice has resulted in confusion. Perhaps
now would a good time to retire it altogether, or at least rewrite it
to mention the points you gave above about responding to "What's
Cooking" or by sending a "ping" to the original patch email (which may
result in Junio either picking up the patch or responding with an
explanation as to why he didn't).
Following the above SubmittingPatches paragraph is another which also
seems to mislead people frequently:
Do not forget to add trailers such as `Acked-by:`, `Reviewed-by:`
and `Tested-by:` lines as necessary to credit people who helped
your patch, and "cc:" them when sending such a final version for
inclusion.
In fact, a submitter should almost never add a Reviewed-by: trailer
because Reviewed-by: is explicitly given by a reviewer only when the
reviewer is satisfied that the patch is merge-ready, in which case no
more re-rolls are expected. Instead, these particular trailers are
almost always added by Junio based upon reviewer responses he sees
when picking up a patch. So, it may be time, too, either to remove
this paragraph or to revise it to mention other trailers more
appropriate for use by the patch submitter, such as Helped-by:,
Suggested-by:, perhaps Co-authored-by:, etc.
From: Felipe Contreras <hidden> Date: 2021-05-12 08:32:25
Eric Sunshine wrote:
On Wed, May 12, 2021 at 2:45 AM Felipe Contreras
[off-list ref] wrote:
quoted
Bagas Sanjaya wrote:
quoted
In practice, the maintainer could instead merged v5 (without having me to
send v6 [final]), because v5 is merge-ready in absence of maintainer's
email address in either To: or Cc:.
Generally you don't need to worry about this, that's Junio's job. If
your patch is ready, Junio will merge it... But not always.
So no, you don't need to send v6, Junio will pick v5. If he doesn't,
it's most likely because it slipped through the cracks, and you can see
that in the next "What's cooking in git.git".
If you don't see your merge-ready patch series in "what's cooking", then
by all means send it again as v6, or reply to the "what's cooking" or
something. But generally there's no point in sending a v6 identical to a
v5.
But if you already sent a v5 that is is merge-ready, there's no need
to send an identical v6.
All these suggestions are of course based on my own experience. Others
might have different experiences.
This has been my experience, as well. I've never sent a v6 with Junio
as an explicit recipient, but which was otherwise identical to v5.
Another reason to avoid sending v6 which is identical to v5 is that it
potentially wastes reviewer bandwidth.
The advice which seems to have triggered this particular discussion
comes from Documentation/SubmittingPatches:
After the list reached a consensus that it is a good idea to
apply the patch, re-send it with "To:" set to the
maintainer{current-maintainer} and "cc:" the list{git-ml} for
inclusion. This is especially relevant when the maintainer did
not heavily participate in the discussion and instead left the
review to trusted others.
It's not the first time this advice has resulted in confusion. Perhaps
now would a good time to retire it altogether, or at least rewrite it
to mention the points you gave above about responding to "What's
Cooking" or by sending a "ping" to the original patch email (which may
result in Junio either picking up the patch or responding with an
explanation as to why he didn't).
Agreed.
(Although sometimes a patch series of mine has actually received
consensus, and yet for some reason Junio does not pick it up. Except
in that case sending a v6 certainly would not improve the situation. Not
sure if that's specific to me though.)
Following the above SubmittingPatches paragraph is another which also
seems to mislead people frequently:
Do not forget to add trailers such as `Acked-by:`, `Reviewed-by:`
and `Tested-by:` lines as necessary to credit people who helped
your patch, and "cc:" them when sending such a final version for
inclusion.
In fact, a submitter should almost never add a Reviewed-by: trailer
because Reviewed-by: is explicitly given by a reviewer only when the
reviewer is satisfied that the patch is merge-ready, in which case no
more re-rolls are expected. Instead, these particular trailers are
almost always added by Junio based upon reviewer responses he sees
when picking up a patch.
I don't fully agree with that comment.
At least me personally if I see people acking v5, I add them to v6 as
Reviewed-By.
I'm not sure if that makes any difference to Junio, but that's what I've
historically done.
Cheers.
--
Felipe Contreras
After violating a few unspoken etiquette rules that were spotted by
Christian Couder [off-list ref], Filipe Contreras
[off-list ref] suggested that somebody write a guide.
Since I was the latest cause of this perenial discussion, I took it upon
myself to learn from my mistakes and document the fixes.
Thanks to Junio [off-list ref] for providing links to similar
discussions in the past and Stefan Moch [off-list ref] for
pointing out where the related documentation already existed in the
tree.
Improvements in this area are most needed, so thanks for working on
this.
We should not have a new file describing this though, we already cover
the content you're adding here partially in
Documentation/SubmittingPatches, and some more in
Documentation/MyFirstContribution.txt (e.g. a passing mention of
in-reply-to etiquette), with this applied we'd have discussion of these
related topics in three places.
I had some rough WIP patches to update Documentation/SubmittingPatches
to address some of what you're adding here, which I've discarded, but I
submitted some related patches just now as [1].
As you can see from that topic we e.g. already have MUA-specific tips in
Documentation/SubmittingPatches, your addition of a section discussing
mutt's config here is another thing we'd be duplicating/unnecessarily
splitting across multiple places.
I do think it's going to be hard to update SubmittingPatches, for
example it has a long section going on about the specific format of
patches to craft for the ML, as if anyone's using anything other than
git-format-patch these days (it was written before that existed/was as
established).
I suspect though that any suggestion to simply remove most/all of that
for simplicity will probably be met with (IMO unwarranted resistance),
which is why I gave up on this the other day before even submitting
patches to the ML.
But regardless of that, the post-image after your patch of having
another place we discuss the same/related topic would be worse, we
really should have one canonical guide, so your patch(es) should be
amending/splitting Documentation/SubmittingPatches, not duplicating it.
1. https://lore.kernel.org/git/cover-0.3-0000000000-20210512T084137Z-avarab@gmail.com/
From: Junio C Hamano <hidden> Date: 2021-05-12 14:36:07
Eric Sunshine [off-list ref] writes:
This has been my experience, as well. I've never sent a v6 with Junio
as an explicit recipient, but which was otherwise identical to v5.
It mostly is because I've been too helpful than the written rule to
proactively pick up v5, before the participants of the discussion
explicitly reaches concensus that it is good enough.
In an ideal world, patches in areas that I do not have particular
interest in and that other reviewers with good taste are performing
good reviews, I should be able to keep myself completely out of the
picture, not involved in their review discussion in any way, and not
even having to monitor if the discussion reached some concensus, and
purely play a patch-monkey for such patches. That, combined with
more reviewers with good tastes, would allow us to injest patches at
faster rate than we currently can.
Another reason to avoid sending v6 which is identical to v5 is that it
potentially wastes reviewer bandwidth.
As long as it is marked as "this is the final version that is
identical to the previous round, only difference from which is that
the collected reviewed-by and acked-by have been added", it would
not waste reviewer bandwidth. The reviewers _should_ however notice
if it has questionable changes since the "previous round", in which
case their reviewed-by's may now be invalid, of course, though.
The advice which seems to have triggered this particular discussion
comes from Documentation/SubmittingPatches:
After the list reached a consensus that it is a good idea to
apply the patch, re-send it with "To:" set to the
maintainer{current-maintainer} and "cc:" the list{git-ml} for
inclusion. This is especially relevant when the maintainer did
not heavily participate in the discussion and instead left the
review to trusted others.
It's not the first time this advice has resulted in confusion. Perhaps
now would a good time to retire it altogether, or at least rewrite it
to mention the points you gave above about responding to "What's
Cooking" or by sending a "ping" to the original patch email (which may
result in Junio either picking up the patch or responding with an
explanation as to why he didn't).
No, please do not put _more_ tasks on my plate.
The "send the final with everybody's concensus" is an ideal that
tries to reduce the maintainer bottleneck by distributing the work
of final validation. I've been too helpful in this area in that I
have often been the one who does the "ping" ("What is the status of
this topic?"), but that would _not_ scale. Anything that the party
with more numbers, namely the contributors, can do, we should farm
it out to them.
Following the above SubmittingPatches paragraph is another which also
seems to mislead people frequently:
Do not forget to add trailers such as `Acked-by:`, `Reviewed-by:`
and `Tested-by:` lines as necessary to credit people who helped
your patch, and "cc:" them when sending such a final version for
inclusion.
In fact, a submitter should almost never add a Reviewed-by: trailer
because Reviewed-by: is explicitly given by a reviewer only when the
reviewer is satisfied that the patch is merge-ready, in which case no
more re-rolls are expected.
Yes, that is exactly why v6 that is identical to v5 that all
reviewers are happy with is useful. It should be able to carry
reviewed-by's and acked-by's, reviewers can audit that there is no
forged or otherwise inappropriate reviewed-by's, without placing any
extra burden on the maintainer.
Thanks.
From: Philip Oakley <hidden> Date: 2021-05-12 15:37:23
On 12/05/2021 04:18, Dave Huseby wrote:
Aaaand I forgot to Cc all of the relevant people from the previous
thread. I also messed up a name and email in the previous commit
messages. Both are fixed. It's been a long day :)
Cheers!
Dave
And try to ensure the subject is carried in the replies, to avoid
deletion as 'junk/spam' (not sure how it happened, just sayin'). I'd
hesitated to open the email because of the blank subject.
Also add a note about how to update a subject when a thread has diverged,
e.g. "Diverged thread (was: Writing down mail list etiquette)."
Philip
From: Dave Huseby <hidden> Date: 2021-05-12 23:53:29
After violating a few unspoken etiquette rules while submitting patches
to the Git mailing list, it was suggeted that somebody write a guide.
Since I was the latest cause of this perenial discussion, I took it upon
myself to learn from my mistakes and document the Git mailing list
etiquette and the fixes I made to my email setup.
* Add documentation specifically on Git mailing list etiquette
* Add alternative actions for patches that receive no response.
* Add section on submitting a final, merge-ready patch.
* Add section on Mutt MUA settings.
Reported-by: Christian Couder <redacted>
Reported-by: Filipe Contreras <redacted>
Thanks-to: Junio C Hamano [off-list ref]
Thanks-to: Philip Oakley [off-list ref]
Thanks-to: Bagas Sanjaya [off-list ref]
Thanks-to: Eric Sunshine [off-list ref]
Thanks-to: Ævar Arnfjörð Bjarmason [off-list ref]
Signed-off-by: Dave Huseby <redacted>
---
Documentation/MailingListEtiquette.txt | 93 ++++++++++++++++++++++++++
Documentation/SubmittingPatches | 74 +++++++++++++++++++-
2 files changed, 166 insertions(+), 1 deletion(-)
create mode 100644 Documentation/MailingListEtiquette.txt
@@ -0,0 +1,93 @@+Mailing List Etiquette+======================++[[introduction]]+== Introduction++The Git project uses a mailing list and email to coordinate development and+submit patches. Many other open source projects use web-based forums and pull+requests (PRs) to achieve the same thing. This article focuses entirely on the+Git project and the etiquette and unspoken rules that have developed over the+years. What follows are best practices and suggestions for the "proper" way to+interact via email on the Git mailing list.++If you are looking for details on how to submit a patch, that is documented+elsewhere in:++- `Documentation/SubmittingPatches`+- `Documentation/MyFirstContribution.txt`++[[proper-use-of-to-and-cc]]+== Proper Use of To and Cc++The "To:" field is the place to list the people you want to directly interact+with and request responses from and the "Cc:" field is for other people that+you wish to inform of this conversation. Everybody is welcome to chime in on+the thread. When there is no particular person you wish to talk to, the mailing+list address is a good catch-all addres to reach everybody and should be put in+the "To:" field.++When replying to an email on the mailing list, put the person you are replying+to in the "To:" field and all other people in the thread in the "Cc:" field,+including the mailing list address.++The motivation for the above suggestions is to allow recipients to prioritize+their incoming messages; they can direct their immediate attention to those+messages with their names on the "To:" field and the ones with their names on+the "Cc:" field can wait.++Make sure to keep everyone involved in the "Cc:" field so that they do not have+to be subscribed to the mailing list to receive replies.++[[proper-use-of-subject]]+== Proper Use of the Subject++When replying to an email on the list, make sure that the subject of the+original email is the subject of your email with "Re:" added to it. So if+you reply to an email with subject "first post", the subject of your email+should be "Re: first post".++Sometimes email threads diverge into other threads about related, but distinct+topics. In those cases, the subject like should change to the new topic and+include in parenthesis "(Was: <original thread subject>)". So for instance,+if a side thread is created from the "first post" thread example, the subject+line should be something like "second post (was: first post)" with replies+having the subject "Re: second post (was: first post)".++[[use-interleaved-style]]+== Use Interleaved Style in Replies++> A: Because it messes up the order in which people normally read text.+> Q: Why is top-posting such a bad thing?+> A: Top-posting.+> Q: What is the most annoying thing in email?++When replying to emails, use interleaved style which is also sometimes called+an "inline reply". This creates a natural flow for the reader of the reply. They+can easily see what the context for the reply is. Also leave only the context+that is important for your reply and delete the rest.++[[do-not-use-mail-followup-to]]+== Do Not Use Mail-Followup-To++When posting to the mailing list, your email client might add a+"Mail-Followup-To:" field containing all of the recipients, including the+mailing list address, but not the sender's email address. This is intended to+prevent the sender from receiving replies twice, once from the replying person+and again from the mailing list.++This goes directly against the desired "To:" and "Cc:" etiquette (see "Proper+Use of To and Cc" above) because "Reply to all"/"group reply" will redirect the+response to all of the people in the original "Cc:" field instead of going to+the person who sent the message being responded to.++Some email clients, such as Mutt (see Disable Mail-Followup-To in the Mutt+section below) are configured by default to add "Mail-Followup-To:" fields and+to honor existing "Mail-Followup-To:" fields. It is best to disable both.++[[enable-plain-text-mode]]+== Enable Plain Text Mode++The Git mailing list software rejects email sent in text/html format. It is+important that your email client is set to create text/plain emails to ensure+delivery.
@@ -433,7 +433,7 @@ help you find out who they are. In any time between the (2)-(3) cycle, the maintainer may pick it up from the list and queue it to `seen`, in order to make it easier for-people play with it without having to pick up and apply the patch to+people to play with it without having to pick up and apply the patch to their trees themselves. [[patch-status]]
@@ -450,6 +450,46 @@ their trees themselves. entitled "What's cooking in git.git" and "What's in git.git" giving the status of various proposed changes.+[[patches-that-receive-no-response]]+== Patches that Receive No Response++If you sent a patch and you did not hear any response from anybody for+several days, it could be that your patch was totally uninteresting,+but it also is possible that it was simply lost in the noise. Please+do not hesitate to send a reminder message in such a case. Messages+getting lost in the noise may be a sign that those who can evaluate+your patch don't have enough mental/time bandwidth to process them+right at the moment, and it often helps to wait until the list traffic+becomes calmer before sending such a reminder.++Alternatives to sending direct reminders are:++* Wait for the next "What's cooking in git.git" email to see if your patch+ series was mentioned and replying to that email with a note pointing out that+ your patch series has been overlooked.++* Attend the weekly "stand-up" meeting held in the "#git-devel" channel on+ irc.freenode.net and bring it up then.++[[send-merge-ready-patches-to-the-maintainer]]+== Send Merge-Ready Patches to the Maintainer++Once a patch has achieved consensus and all stakeholders are satisfied and+everything is ready for merging, you have two main options for getting your+patch noticed by the maintainer.++1. Submit a new, final, version of the patch with an accurate list of commit+ trailers. Make this submission "To:" the maintainer, "In-Reply-To:" the+ previous version of the patch, and add everybody concerned, including the+ mailing list address to the "Cc:" field. This is a nice way to reduce the+ amount of work the maintainer must do to merge the patch while also getting+ their attention.++2. Creating a "group reply"/"Reply to all" email to the latest patch series+ with the maintainer in the "To:" field. This is sometimes referred to as a+ "review ping" email and is appropriate if the patch requires no more work+ and is in its final state with an accurate list of commit trailers.+ [[travis]] == GitHub-Travis CI hints
@@ -510,6 +550,38 @@ first patch.\n", if you really want to put in the patch e-mail, should come after the three-dash line that signals the end of the commit message.+=== Mutt++[[known-mailing-lists]]+==== Known Mailing Lists++Mutt has the ability to change its behavior when replying to a mailing list. You+must specify mailing list addresses using the `subscribe` keyword in your Mutt+configuration:++**~/.muttrc:**+```+# tell Mutt about the Git mailing list+subscribe git@vger.kernel.org+```++[[disable-mail-followup-to]]+==== Disable Mail-Followup-To++By default, when replying to mailing lists, Mutt automatically generates+"Mail-Followup-To:" fields. To fix this, disable the generation of the field+in your Mutt configuration. It is also a good idea to disable honoring any+"Mail-Followup-To:" field so that your "group reply" operations are correctly+addressed.++**~/.muttrc:**+```+# disable Mail-Followup-To header+unset followup_to++# disable honoring Mail-Followup-To header+unset honor_followup_to+``` === Pine
After violating a few unspoken etiquette rules while submitting patches
to the Git mailing list, it was suggeted that somebody write a guide.
Since I was the latest cause of this perenial discussion, I took it upon
myself to learn from my mistakes and document the Git mailing list
etiquette and the fixes I made to my email setup.
The commit message looks too personal here. Anyways, better say:
@@ -0,0 +1,93 @@+Mailing List Etiquette+======================++[[introduction]]+== Introduction++The Git project uses a mailing list and email to coordinate development and+submit patches. Many other open source projects use web-based forums and pull+requests (PRs) to achieve the same thing. This article focuses entirely on the+Git project and the etiquette and unspoken rules that have developed over the+years. What follows are best practices and suggestions for the "proper" way to+interact via email on the Git mailing list.++If you are looking for details on how to submit a patch, that is documented+elsewhere in:++- `Documentation/SubmittingPatches`+- `Documentation/MyFirstContribution.txt`++[[proper-use-of-to-and-cc]]+== Proper Use of To and Cc++The "To:" field is the place to list the people you want to directly interact+with and request responses from and the "Cc:" field is for other people that+you wish to inform of this conversation. Everybody is welcome to chime in on+the thread. When there is no particular person you wish to talk to, the mailing+list address is a good catch-all addres to reach everybody and should be put in+the "To:" field.++When replying to an email on the mailing list, put the person you are replying+to in the "To:" field and all other people in the thread in the "Cc:" field,+including the mailing list address.++The motivation for the above suggestions is to allow recipients to prioritize+their incoming messages; they can direct their immediate attention to those+messages with their names on the "To:" field and the ones with their names on+the "Cc:" field can wait.++Make sure to keep everyone involved in the "Cc:" field so that they do not have+to be subscribed to the mailing list to receive replies.++[[proper-use-of-subject]]+== Proper Use of the Subject++When replying to an email on the list, make sure that the subject of the+original email is the subject of your email with "Re:" added to it. So if+you reply to an email with subject "first post", the subject of your email+should be "Re: first post".++Sometimes email threads diverge into other threads about related, but distinct+topics. In those cases, the subject like should change to the new topic and+include in parenthesis "(Was: <original thread subject>)". So for instance,+if a side thread is created from the "first post" thread example, the subject+line should be something like "second post (was: first post)" with replies+having the subject "Re: second post (was: first post)".++[[use-interleaved-style]]+== Use Interleaved Style in Replies++> A: Because it messes up the order in which people normally read text.+> Q: Why is top-posting such a bad thing?+> A: Top-posting.+> Q: What is the most annoying thing in email?+
When you describe about interleaved style below, you also include example of
"top posting". This make newbies think that TP (like above) is interleaved
style, while both are actually different. So please also include example of
interleaved style.
+When replying to emails, use interleaved style which is also sometimes called
+an "inline reply". This creates a natural flow for the reader of the reply. They
+can easily see what the context for the reply is. Also leave only the context
+that is important for your reply and delete the rest.
+
+[[do-not-use-mail-followup-to]]
+== Do Not Use Mail-Followup-To
+
+When posting to the mailing list, your email client might add a
+"Mail-Followup-To:" field containing all of the recipients, including the
+mailing list address, but not the sender's email address. This is intended to
+prevent the sender from receiving replies twice, once from the replying person
+and again from the mailing list.
+
+This goes directly against the desired "To:" and "Cc:" etiquette (see "Proper
+Use of To and Cc" above) because "Reply to all"/"group reply" will redirect the
+response to all of the people in the original "Cc:" field instead of going to
+the person who sent the message being responded to.
+
+Some email clients, such as Mutt (see Disable Mail-Followup-To in the Mutt
+section below) are configured by default to add "Mail-Followup-To:" fields and
+to honor existing "Mail-Followup-To:" fields. It is best to disable both.
+
The specific hints for Mutt is on Documentation/SubmittingPatches, included as
part of this patch, not on Documentation/MailingListEtiquette.txt that you
wrote.
+[[enable-plain-text-mode]]
+== Enable Plain Text Mode
+
+The Git mailing list software rejects email sent in text/html format. It is
+important that your email client is set to create text/plain emails to ensure
+delivery.
Don't you know that VGER (that hosts Git ML) rejects text/html emails because
these are very likely spam messages?
+[[send-merge-ready-patches-to-the-maintainer]]
+== Send Merge-Ready Patches to the Maintainer
+
+Once a patch has achieved consensus and all stakeholders are satisfied and
+everything is ready for merging, you have two main options for getting your
+patch noticed by the maintainer.
+
+1. Submit a new, final, version of the patch with an accurate list of commit
+ trailers. Make this submission "To:" the maintainer, "In-Reply-To:" the
+ previous version of the patch, and add everybody concerned, including the
+ mailing list address to the "Cc:" field. This is a nice way to reduce the
+ amount of work the maintainer must do to merge the patch while also getting
+ their attention.
+
+2. Creating a "group reply"/"Reply to all" email to the latest patch series
+ with the maintainer in the "To:" field. This is sometimes referred to as a
+ "review ping" email and is appropriate if the patch requires no more work
+ and is in its final state with an accurate list of commit trailers.
+
For this section, I expect that the paragraph that started with "After the list
reached a consensus that it is a good idea to apply the patch, re-send it with
"To:"..." be also deleted to avoid redundancy.
quoted hunk
[[travis]]
== GitHub-Travis CI hints
@@ -510,6 +550,38 @@ first patch.\n", if you really want to put in the patch e-mail, should come after the three-dash line that signals the end of the commit message.+=== Mutt++[[known-mailing-lists]]+==== Known Mailing Lists++Mutt has the ability to change its behavior when replying to a mailing list. You+must specify mailing list addresses using the `subscribe` keyword in your Mutt+configuration:++**~/.muttrc:**+```+# tell Mutt about the Git mailing list+subscribe git@vger.kernel.org+```++[[disable-mail-followup-to]]+==== Disable Mail-Followup-To++By default, when replying to mailing lists, Mutt automatically generates+"Mail-Followup-To:" fields. To fix this, disable the generation of the field+in your Mutt configuration. It is also a good idea to disable honoring any+"Mail-Followup-To:" field so that your "group reply" operations are correctly+addressed.++**~/.muttrc:**+```+# disable Mail-Followup-To header+unset followup_to++# disable honoring Mail-Followup-To header+unset honor_followup_to+``` === Pine
From the context hunk for this Mutt subsection, I was thought that it was inside
"Travis hints" sub/section, but after seeing "Pine" subsection below the addition,
I recognized that subsection for Mutt was in "MUA specific" section.
Thanks.
--
An old man doll... just what I always wanted! - Clara
From: Felipe Contreras <hidden> Date: 2021-05-13 06:34:58
Dave Huseby wrote:
+[[proper-use-of-to-and-cc]]
+== Proper Use of To and Cc
Always make sure the mailing list is included.
...
+[[proper-use-of-subject]]
+== Proper Use of the Subject
...
I think this is more importan than the point above.
+[[use-interleaved-style]]
+== Use Interleaved Style in Replies
+
+> A: Because it messes up the order in which people normally read text.
+> Q: Why is top-posting such a bad thing?
+> A: Top-posting.
+> Q: What is the most annoying thing in email?
You need to explain this is top-posting, and it's an example of what not
to do.
...
+[[do-not-use-mail-followup-to]]
+== Do Not Use Mail-Followup-To
...
This should be the last point.
+[[enable-plain-text-mode]]
+== Enable Plain Text Mode
+
+The Git mailing list software rejects email sent in text/html format. It is
+important that your email client is set to create text/plain emails to ensure
+delivery.
This is more important than other points.
IMO the order should be:
1. Enable plain-text mode
2. Proper use of subject
3. Use interleaved-style
4. Proper use of To/Cc
5. Do not use mail-followup-to
Another review.
On 13/05/21 06.34, Dave Huseby wrote:
quoted hunk
After violating a few unspoken etiquette rules while submitting patches
to the Git mailing list, it was suggeted that somebody write a guide.
Since I was the latest cause of this perenial discussion, I took it upon
myself to learn from my mistakes and document the Git mailing list
etiquette and the fixes I made to my email setup.
* Add documentation specifically on Git mailing list etiquette
* Add alternative actions for patches that receive no response.
* Add section on submitting a final, merge-ready patch.
* Add section on Mutt MUA settings.
Reported-by: Christian Couder <redacted>
Reported-by: Filipe Contreras <redacted>
Thanks-to: Junio C Hamano [off-list ref]
Thanks-to: Philip Oakley [off-list ref]
Thanks-to: Bagas Sanjaya [off-list ref]
Thanks-to: Eric Sunshine [off-list ref]
Thanks-to: Ævar Arnfjörð Bjarmason [off-list ref]
Signed-off-by: Dave Huseby <redacted>
---
Documentation/MailingListEtiquette.txt | 93 ++++++++++++++++++++++++++
Documentation/SubmittingPatches | 74 +++++++++++++++++++-
2 files changed, 166 insertions(+), 1 deletion(-)
create mode 100644 Documentation/MailingListEtiquette.txt
@@ -0,0 +1,93 @@+Mailing List Etiquette+======================++[[introduction]]+== Introduction++The Git project uses a mailing list and email to coordinate development and+submit patches. Many other open source projects use web-based forums and pull+requests (PRs) to achieve the same thing. This article focuses entirely on the+Git project and the etiquette and unspoken rules that have developed over the+years. What follows are best practices and suggestions for the "proper" way to+interact via email on the Git mailing list.++If you are looking for details on how to submit a patch, that is documented+elsewhere in:++- `Documentation/SubmittingPatches`+- `Documentation/MyFirstContribution.txt`++[[proper-use-of-to-and-cc]]+== Proper Use of To and Cc++The "To:" field is the place to list the people you want to directly interact+with and request responses from and the "Cc:" field is for other people that+you wish to inform of this conversation. Everybody is welcome to chime in on+the thread. When there is no particular person you wish to talk to, the mailing+list address is a good catch-all addres to reach everybody and should be put in+the "To:" field.++When replying to an email on the mailing list, put the person you are replying+to in the "To:" field and all other people in the thread in the "Cc:" field,+including the mailing list address.++The motivation for the above suggestions is to allow recipients to prioritize+their incoming messages; they can direct their immediate attention to those+messages with their names on the "To:" field and the ones with their names on+the "Cc:" field can wait.++Make sure to keep everyone involved in the "Cc:" field so that they do not have+to be subscribed to the mailing list to receive replies.++[[proper-use-of-subject]]+== Proper Use of the Subject++When replying to an email on the list, make sure that the subject of the+original email is the subject of your email with "Re:" added to it. So if+you reply to an email with subject "first post", the subject of your email+should be "Re: first post".++Sometimes email threads diverge into other threads about related, but distinct+topics. In those cases, the subject like should change to the new topic and+include in parenthesis "(Was: <original thread subject>)". So for instance,+if a side thread is created from the "first post" thread example, the subject+line should be something like "second post (was: first post)" with replies+having the subject "Re: second post (was: first post)".++[[use-interleaved-style]]+== Use Interleaved Style in Replies++> A: Because it messes up the order in which people normally read text.+> Q: Why is top-posting such a bad thing?+> A: Top-posting.+> Q: What is the most annoying thing in email?++When replying to emails, use interleaved style which is also sometimes called+an "inline reply". This creates a natural flow for the reader of the reply. They+can easily see what the context for the reply is. Also leave only the context+that is important for your reply and delete the rest.++[[do-not-use-mail-followup-to]]+== Do Not Use Mail-Followup-To++When posting to the mailing list, your email client might add a+"Mail-Followup-To:" field containing all of the recipients, including the+mailing list address, but not the sender's email address. This is intended to+prevent the sender from receiving replies twice, once from the replying person+and again from the mailing list.++This goes directly against the desired "To:" and "Cc:" etiquette (see "Proper+Use of To and Cc" above) because "Reply to all"/"group reply" will redirect the+response to all of the people in the original "Cc:" field instead of going to+the person who sent the message being responded to.++Some email clients, such as Mutt (see Disable Mail-Followup-To in the Mutt+section below) are configured by default to add "Mail-Followup-To:" fields and+to honor existing "Mail-Followup-To:" fields. It is best to disable both.++[[enable-plain-text-mode]]+== Enable Plain Text Mode++The Git mailing list software rejects email sent in text/html format. It is+important that your email client is set to create text/plain emails to ensure+delivery.
@@ -433,7 +433,7 @@ help you find out who they are. In any time between the (2)-(3) cycle, the maintainer may pick it up from the list and queue it to `seen`, in order to make it easier for-people play with it without having to pick up and apply the patch to+people to play with it without having to pick up and apply the patch to their trees themselves. [[patch-status]]
@@ -450,6 +450,46 @@ their trees themselves. entitled "What's cooking in git.git" and "What's in git.git" giving the status of various proposed changes.+[[patches-that-receive-no-response]]+== Patches that Receive No Response++If you sent a patch and you did not hear any response from anybody for+several days, it could be that your patch was totally uninteresting,+but it also is possible that it was simply lost in the noise. Please+do not hesitate to send a reminder message in such a case. Messages+getting lost in the noise may be a sign that those who can evaluate+your patch don't have enough mental/time bandwidth to process them+right at the moment, and it often helps to wait until the list traffic+becomes calmer before sending such a reminder.++Alternatives to sending direct reminders are:++* Wait for the next "What's cooking in git.git" email to see if your patch+ series was mentioned and replying to that email with a note pointing out that+ your patch series has been overlooked.++* Attend the weekly "stand-up" meeting held in the "#git-devel" channel on+ irc.freenode.net and bring it up then.++[[send-merge-ready-patches-to-the-maintainer]]+== Send Merge-Ready Patches to the Maintainer++Once a patch has achieved consensus and all stakeholders are satisfied and+everything is ready for merging, you have two main options for getting your+patch noticed by the maintainer.++1. Submit a new, final, version of the patch with an accurate list of commit+ trailers. Make this submission "To:" the maintainer, "In-Reply-To:" the+ previous version of the patch, and add everybody concerned, including the+ mailing list address to the "Cc:" field. This is a nice way to reduce the+ amount of work the maintainer must do to merge the patch while also getting+ their attention.++2. Creating a "group reply"/"Reply to all" email to the latest patch series+ with the maintainer in the "To:" field. This is sometimes referred to as a+ "review ping" email and is appropriate if the patch requires no more work+ and is in its final state with an accurate list of commit trailers.+ [[travis]] == GitHub-Travis CI hints
@@ -510,6 +550,38 @@ first patch.\n", if you really want to put in the patch e-mail, should come after the three-dash line that signals the end of the commit message.+=== Mutt++[[known-mailing-lists]]+==== Known Mailing Lists++Mutt has the ability to change its behavior when replying to a mailing list. You+must specify mailing list addresses using the `subscribe` keyword in your Mutt+configuration:++**~/.muttrc:**+```+# tell Mutt about the Git mailing list+subscribe git@vger.kernel.org+```++[[disable-mail-followup-to]]+==== Disable Mail-Followup-To++By default, when replying to mailing lists, Mutt automatically generates+"Mail-Followup-To:" fields. To fix this, disable the generation of the field+in your Mutt configuration. It is also a good idea to disable honoring any+"Mail-Followup-To:" field so that your "group reply" operations are correctly+addressed.++**~/.muttrc:**+```+# disable Mail-Followup-To header+unset followup_to++# disable honoring Mail-Followup-To header+unset honor_followup_to+``` === Pine
I think the patch title, according to diff body, should be
"doc: document mailing list etiquette and various updates to SubmittingPatches".
But anyway, it's better to split into two separate patches (one that document
etiquette and one that add updates to SubmittingPatches) because there are two
logical changes in single patch.
Regarding patch title, I proposed change above because we require that the title
use imperative language ("make something do one thing"). However, you use
present continuous tense (with gerund "-ing"), which implied that you do
something progressively ("making something do one thing"). This is not
imperative language, just descriptive.
--
An old man doll... just what I always wanted! - Clara
From: Felipe Contreras <hidden> Date: 2021-06-09 17:38:01
Dave Huseby wrote:
After violating a few unspoken etiquette rules while submitting patches
to the Git mailing list, it was suggeted that somebody write a guide.
Since I was the latest cause of this perenial discussion, I took it upon
myself to learn from my mistakes and document the Git mailing list
etiquette and the fixes I made to my email setup.
* Add documentation specifically on Git mailing list etiquette
* Add alternative actions for patches that receive no response.
* Add section on submitting a final, merge-ready patch.
* Add section on Mutt MUA settings.
Reported-by: Christian Couder <redacted>
Reported-by: Filipe Contreras <redacted>
Thanks-to: Junio C Hamano [off-list ref]
Thanks-to: Philip Oakley [off-list ref]
Thanks-to: Bagas Sanjaya [off-list ref]
Thanks-to: Eric Sunshine [off-list ref]
Thanks-to: Ævar Arnfjörð Bjarmason [off-list ref]
Signed-off-by: Dave Huseby <redacted>
What happened to this? I see value in having this document, so I would
be glad to pick it up if you've lost interest.
Cheers.
--
Felipe Contreras
From: Dave Huseby <hidden> Date: 2021-06-18 20:43:52
On 09.06.2021 12:36, Felipe Contreras wrote:
What happened to this? I see value in having this document, so I would
be glad to pick it up if you've lost interest.
I fell off of the face of the earth. My life turned upside down but it's
slowly righting itself. A number of things took me offline but the last
of which is my father nearing the end of his life. Things are stable for
the moment so I am getting back in the saddle. Like I said in my last
update, I'm going to try to combine all of the contributions and
feedback into a patchset that includes Ævar's patches and cleaned up
versions of mine on top.
Right now I'm trying to get my head back where it was.
Cheers!
Dave
From: Felipe Contreras <hidden> Date: 2021-06-18 23:48:30
Dave Huseby wrote:
On 09.06.2021 12:36, Felipe Contreras wrote:
quoted
What happened to this? I see value in having this document, so I would
be glad to pick it up if you've lost interest.
I fell off of the face of the earth. My life turned upside down but it's
slowly righting itself. A number of things took me offline but the last
of which is my father nearing the end of his life. Things are stable for
the moment so I am getting back in the saddle. Like I said in my last
update, I'm going to try to combine all of the contributions and
feedback into a patchset that includes Ævar's patches and cleaned up
versions of mine on top.
Right now I'm trying to get my head back where it was.
Sorry to hear that. Hopefully soon you'll find some familiar ground.
Cheers.
--
Felipe Contreras