Re: [PATCH v5 0/4] docs: update email credential helpers and improve formatting

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 28-05-2025 03:06 pm, Aditya Garg wrote:
> 
> 
> On 28-05-2025 12:53 pm, Eric Sunshine wrote:
>> On Wed, May 28, 2025 at 3:05 AM Aditya Garg <gargaditya08@xxxxxxxx> wrote:
>>> v5: Added a patch to make the purpose of using app password for Gmail
>>>     more clear in `send-email` documentation.
>>>
>>> Range-diff:
>>> -:  ---------- > 1:  2c47cc5396 docs: add credential helper for yahoo and link Google's sendgmail tool
>>> -:  ---------- > 2:  bc1d0471ca docs: improve formatting in git-send-email documentation
>>> -:  ---------- > 3:  b9e41e2492 docs: remove credential helper links for emails from gitcredentials
>>> -:  ---------- > 4:  a6ad7ac810 docs: make the purpose of using app password for Gmail more clear in send-email
>>
>> Strange range-diff.
> 
> I think because I used git version 2.43. When I compiled my branch with changes, git format-patch over there
> had a very different range-diff from this.

This is the one from Git 2.49

Range-diff:
2:  72b3cd1bfb ! 1:  2c47cc5396 send-email: show the new message id assigned by outlook in the logs
    @@ Metadata
     Author: Aditya Garg <gargaditya08@xxxxxxxx>
     
      ## Commit message ##
    -    send-email: show the new message id assigned by outlook in the logs
    +    docs: add credential helper for yahoo and link Google's sendgmail tool
     
    -    Whenever an email is sent, send-email shows a log at last, which
    -    contains all the headers of the email that were received by the
    -    receipients.
    -
    -    In case outlook changes the Message-ID, a log for the same is shown to
    -    the user, but that change is not reflected when the log containing all
    -    the headers is displayed. Here is an example of the log that is shown
    -    when outlook changes the Message-ID:
    -
    -    Outlook reassigned Message-ID to: <PN3PR01MB95973E5ACD7CCFADCB4E298CB865A@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
    -    OK. Log says:
    -    Server: smtp.office365.com
    -    MAIL FROM:<gargaditya08@xxxxxxxx>
    -    RCPT TO:<negahe7142@xxxxxxxxxxxx>
    -    From: Aditya Garg <gargaditya08@xxxxxxxx>
    -    To: negahe7142@xxxxxxxxxxxx
    -    Subject: [PATCH] send-email: show the new message id assigned by outlook in the logs
    -    Date: Mon, 26 May 2025 20:28:36 +0530
    -    Message-ID: <20250526145836.4825-1-gargaditya08@xxxxxxxx>
    -    X-Mailer: git-send-email @GIT_VERSION@
    -    MIME-Version: 1.0
    -    Content-Transfer-Encoding: 8bit
    -
    -    Result: 250
    -
    -    This patch fixes this by modifying the $header variable, which is
    -    responsible for showing the logs at the end. Also, the log which states
    -    that the Message-ID has been changed will now be shown only when
    -    smtp-debug is enabled, since the main log having all of the headers is
    -    anyways displaying the new Message-ID. It should look like this after
    -    this patch:
    -
    -    OK. Log says:
    -    Server: smtp.office365.com
    -    MAIL FROM:<gargaditya08@xxxxxxxx>
    -    RCPT TO:<negahe7142@xxxxxxxxxxxx>
    -    From: Aditya Garg <gargaditya08@xxxxxxxx>
    -    To: negahe7142@xxxxxxxxxxxx
    -    Subject: [PATCH] send-email: show the new message id assigned by outlook in the logs
    -    Date: Mon, 26 May 2025 20:29:22 +0530
    -    Message-ID: <PN3PR01MB95977486061BD2542BD09B67B865A@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
    -    X-Mailer: git-send-email @GIT_VERSION@
    -    MIME-Version: 1.0
    -    Content-Transfer-Encoding: 8bit
    -
    -    Result: 250
    +    This commit links `git-credential-yahoo` as a credential helper for
    +    Yahoo accounts. Also, Google's `sendgmail` tool has been linked as an
    +    alternative method for sending emails through Gmail.
     
         Signed-off-by: Aditya Garg <gargaditya08@xxxxxxxx>
     
    - ## git-send-email.perl ##
    -@@ git-send-email.perl: sub send_message {
    - 		if (is_outlook($smtp_server)) {
    - 			if ($smtp->message =~ /<([^>]+)>/) {
    - 				$message_id = "<$1>";
    --				printf __("Outlook reassigned Message-ID to: %s\n"), $message_id;
    -+				# Replace the original Message-ID in $header with the new one
    -+				$header =~ s/^(Message-ID:\s*).*\n/${1}$message_id\n/m;
    -+				printf __("Outlook reassigned Message-ID to: %s\n"), $message_id if $smtp->debug;
    - 			} else {
    - 				warn __("Warning: Could not retrieve Message-ID from server response.\n");
    - 			}
    + ## Documentation/git-send-email.adoc ##
    +@@ Documentation/git-send-email.adoc: settings:
    + 	smtpAuth = OAUTHBEARER
    + ----
    + 
    ++Alternatively, you can use a tool developed by Google known as
    ++https://github.com/google/gmail-oauth2-tools/tree/master/go/sendgmail[sendgmail]
    ++to send emails using `git send-email`.
    ++
    + Use Microsoft Outlook as the SMTP Server
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + Unlike Gmail, Microsoft Outlook no longer supports app-specific passwords.
    +@@ Documentation/git-send-email.adoc: next time.
    + 
    + If you are using OAuth2.0 authentication, you need to use an access token in
    + place of a password when prompted. Various OAuth2.0 token generators are
    +-available online. Community maintained credential helpers for Gmail and Outlook
    +-are also available:
    ++available online. Community maintained credential helpers are also available:
    + 
    + 	- https://github.com/AdityaGarg8/git-credential-email[git-credential-gmail]
    + 	  (cross platform, dedicated helper for authenticating Gmail accounts)
    +@@ Documentation/git-send-email.adoc: are also available:
    + 	- https://github.com/AdityaGarg8/git-credential-email[git-credential-outlook]
    + 	  (cross platform, dedicated helper for authenticating Microsoft Outlook accounts)
    + 
    ++	- https://github.com/AdityaGarg8/git-credential-email[git-credential-yahoo]
    ++	  (cross platform, dedicated helper for authenticating Yahoo accounts)
    ++
    + You can also see linkgit:gitcredentials[7] for more OAuth based authentication
    + helpers.
    + 
1:  63addf9d9b ! 2:  bc1d0471ca send-email: fix bug resulting in increased message number if a message is edited
    @@ Metadata
     Author: Aditya Garg <gargaditya08@xxxxxxxx>
     
      ## Commit message ##
    -    send-email: fix bug resulting in increased message number if a message is edited
    +    docs: improve formatting in git-send-email documentation
     
    -    Whenever we send a thread of emails using send-email, a message number
    -    is internally assigned to each email. This number is used to track the
    -    order of the emails in the thread. Whenever a new message is processed
    -    in a thread, the current script logic increases the message number by
    -    one, which is intended.
    +    The current documentation for git-send-email had an inconsistent use of
    +    "", ``, and '' for quoting. This commit improves the formatting by
    +    using the same style throughout the documentation.
     
    -    But, if a message is edited and then resent, its message number again
    -    gets increased. This is because the script uses the same logic to
    -    process the edited message, which is uses the send the next message.
    +    Also, at some places, minor grammatical errors were fixed, and some
    +    non existent links were removed.
     
    -    This minor bug is usually harmless unless some special situations arise.
    -    One such situation is when the first message in a thread is edited
    -    and resent, and an `--in-reply-to` argument is also passed to send-email.
    -    In this case if the user has chosen shallow threading, the threading
    -    does not work as expected, and all messaged become as replies to the
    -    Message-ID specified in the `--in-reply-to` argument.
    -
    -    The reason for this bug is hidden in the code for threading itself.
    -
    -    if ($thread) {
    -            if ($message_was_sent &&
    -              ($chain_reply_to || !defined $in_reply_to || length($in_reply_to) == 0 ||
    -              $message_num == 1)) {
    -                    $in_reply_to = $message_id;
    -                    if (length $references > 0) {
    -                            $references .= "\n $message_id";
    -                    } else {
    -                            $references = "$message_id";
    -                    }
    -            }
    -    }
    -
    -    Here $message_num is the current message number, and $in_reply_to is
    -    the Message-ID of the message to which the current message is a reply.
    -    In case `--in-reply-to` is specified, the `$in_reply_to` variable
    -    is set to the value of the `--in-reply-to` argument.
    -
    -    Whenever this whole set of conditions is true, the script sets the
    -    `$in_reply_to` variable to the current message's ID. This is done to
    -    ensure that the next message in the thread is a reply to this message.
    -
    -    In case we specify an `--in-reply-to` argument, and have shallow
    -    threading, the only condition that can make this true is
    -    `$message_num == 1`, which is true for the first message in a thread.
    -    Thus the $in_reply_to variable gets set to the first message's ID.
    -    For subsequent messages, the `$message_num` variable is always
    -    greater than 1, and the whole set of conditions is false, and thus the
    -    $in_reply_to variable remains as the first message's ID. This is what
    -    we expect in shallow threading. But, in case the user edits the first
    -    message and resends it, the `$message_num` variable gets increased by 1,
    -    and thus the condition `$message_num == 1` becomes false. This means
    -    that the `$in_reply_to` variable is not set to the first message's ID,
    -    and thus the next message in the thread is not a reply to the first
    -    message, but to the `--in-reply-to` argument, effectively breaking
    -    the threading.
    -
    -    In case the user does not specify an `--in-reply-to` argument, the
    -    !defined $in_reply_to condition is true, and thus the `$in_reply_to`
    -    variable is set to the first message's ID, and the threading works
    -    as expected, irrespective of what the message number is.
    -
    -    Just like $message_num, $message_id_serial variable also increases by 1
    -    whenever a new message is sent. This variable displays the message
    -    number is the Message-ID of the email.
    -
    -    So, in order to fix this bug, we need to ensure that the $message_num
    -    variable is not increased by 1 when a message is edited and resent.
    -    We do this by decreasing the $message_num and $message_id_serial
    -    variable by 1 whenever the request to edit a message is received. This
    -    way, the next message in the thread will have the same message number as
    -    the edited message, and thus the threading will work as expected.
    -
    -    The same logic has also been applied in case the user drops a single
    -    message from the thread by choosing the "[n]o" option during
    -    confirmation. By doing this, the next message in the thread is assigned
    -    the message number of the dropped message, and thus the threading
    -    works as expected.
    +    Finally, the cpan links of necessary perl modules have been added to
    +    make their installation easier.
     
         Signed-off-by: Aditya Garg <gargaditya08@xxxxxxxx>
     
    - ## git-send-email.perl ##
    -@@ git-send-email.perl: sub send_message {
    - 		         default => $ask_default);
    - 		die __("Send this email reply required") unless defined $_;
    - 		if (/^n/i) {
    -+			# If we are skipping a message, we should make sure that
    -+			# the next message is treated as the successor to the
    -+			# previously sent message, and not the skipped message.
    -+			$message_num--;
    -+			$message_id_serial--;
    - 			return 0;
    - 		} elsif (/^e/i) {
    -+			# Since the same message will be sent again, we need to
    -+			# decrement the message number to the previous message.
    -+			# Otherwise, the edited message will be treated as a
    -+			# different message sent after the original non-edited
    -+			# message.
    -+			$message_num--;
    -+			$message_id_serial--;
    - 			return -1;
    - 		} elsif (/^q/i) {
    - 			cleanup_compose_files();
    + ## Documentation/config/sendemail.adoc ##
    +@@ Documentation/config/sendemail.adoc: sendemail.<identity>.*::
    + 	`sendemail.identity`.
    + 
    + sendemail.multiEdit::
    +-	If true (default), a single editor instance will be spawned to edit
    ++	If `true` (default), a single editor instance will be spawned to edit
    + 	files you have to edit (patches when `--annotate` is used, and the
    +-	summary when `--compose` is used). If false, files will be edited one
    ++	summary when `--compose` is used). If `false`, files will be edited one
    + 	after the other, spawning a new editor each time.
    + 
    + sendemail.confirm::
    +@@ Documentation/config/sendemail.adoc: sendemail.signedOffCc (deprecated)::
    + 
    + sendemail.smtpBatchSize::
    + 	Number of messages to be sent per connection, after that a relogin
    +-	will happen.  If the value is 0 or undefined, send all messages in
    ++	will happen.  If the value is `0` or undefined, send all messages in
    + 	one connection.
    + 	See also the `--batch-size` option of linkgit:git-send-email[1].
    + 
    +@@ Documentation/config/sendemail.adoc: sendemail.smtpReloginDelay::
    + 
    + sendemail.forbidSendmailVariables::
    + 	To avoid common misconfiguration mistakes, linkgit:git-send-email[1]
    +-	will abort with a warning if any configuration options for "sendmail"
    ++	will abort with a warning if any configuration options for `sendmail`
    + 	exist. Set this variable to bypass the check.
    +
    + ## Documentation/git-send-email.adoc ##
    +@@ Documentation/git-send-email.adoc: Takes the patches given on the command line and emails them out.
    + Patches can be specified as files, directories (which will send all
    + files in the directory), or directly as a revision list.  In the
    + last case, any format accepted by linkgit:git-format-patch[1] can
    +-be passed to git send-email, as well as options understood by
    ++be passed to `git send-email`, as well as options understood by
    + linkgit:git-format-patch[1].
    + 
    + The header of the email is configurable via command-line options.  If not
    +@@ Documentation/git-send-email.adoc: There are two formats accepted for patch files:
    + This is what linkgit:git-format-patch[1] generates.  Most headers and MIME
    + formatting are ignored.
    + 
    +-2. The original format used by Greg Kroah-Hartman's 'send_lots_of_email.pl'
    ++2. The original format used by Greg Kroah-Hartman's `send_lots_of_email.pl`
    +    script
    + +
    +-This format expects the first line of the file to contain the "Cc:" value
    +-and the "Subject:" of the message as the second line.
    ++This format expects the first line of the file to contain the 'Cc:' value
    ++and the 'Subject:' of the message as the second line.
    + 
    + 
    + OPTIONS
    +@@ Documentation/git-send-email.adoc: Composing
    + 	`sendemail.multiEdit`.
    + 
    + --bcc=<address>,...::
    +-	Specify a "Bcc:" value for each email. Default is the value of
    ++	Specify a 'Bcc:' value for each email. Default is the value of
    + 	`sendemail.bcc`.
    + +
    + This option may be specified multiple times.
    + 
    + --cc=<address>,...::
    +-	Specify a starting "Cc:" value for each email.
    ++	Specify a starting 'Cc:' value for each email.
    + 	Default is the value of `sendemail.cc`.
    + +
    + This option may be specified multiple times.
    +@@ Documentation/git-send-email.adoc: This option may be specified multiple times.
    + 	Invoke a text editor (see GIT_EDITOR in linkgit:git-var[1])
    + 	to edit an introductory message for the patch series.
    + +
    +-When `--compose` is used, git send-email will use the From, To, Cc, Bcc,
    +-Subject, Reply-To, and In-Reply-To headers specified in the message. If
    +-the body of the message (what you type after the headers and a blank
    +-line) only contains blank (or Git: prefixed) lines, the summary won't be
    ++When `--compose` is used, `git send-email` will use the 'From', 'To', 'Cc',
    ++'Bcc', 'Subject', 'Reply-To', and 'In-Reply-To' headers specified in the
    ++message. If the body of the message (what you type after the headers and a
    ++blank line) only contains blank (or Git: prefixed) lines, the summary won't be
    + sent, but the headers mentioned above will be used unless they are
    + removed.
    + +
    +-Missing From or In-Reply-To headers will be prompted for.
    ++Missing 'From' or 'In-Reply-To' headers will be prompted for.
    + +
    + See the CONFIGURATION section for `sendemail.multiEdit`.
    + 
    +@@ Documentation/git-send-email.adoc: See the CONFIGURATION section for `sendemail.multiEdit`.
    + 	the value of the `sendemail.from` configuration option is used.  If
    + 	neither the command-line option nor `sendemail.from` are set, then the
    + 	user will be prompted for the value.  The default for the prompt will be
    +-	the value of GIT_AUTHOR_IDENT, or GIT_COMMITTER_IDENT if that is not
    +-	set, as returned by "git var -l".
    ++	the value of `GIT_AUTHOR_IDENT`, or `GIT_COMMITTER_IDENT` if that is not
    ++	set, as returned by `git var -l`.
    + 
    + --reply-to=<address>::
    + 	Specify the address where replies from recipients should go to.
    + 	Use this if replies to messages should go to another address than what
    +-	is specified with the --from parameter.
    ++	is specified with the `--from` parameter.
    + 
    + --in-reply-to=<identifier>::
    + 	Make the first mail (or all the mails with `--no-thread`) appear as a
    +@@ Documentation/git-send-email.adoc: illustration below where `[PATCH v2 0/3]` is in reply to `[PATCH 0/2]`:
    +       [PATCH v2 2/3] New tests
    +       [PATCH v2 3/3] Implementation
    + +
    +-Only necessary if --compose is also set.  If --compose
    ++Only necessary if `--compose` is also set.  If `--compose`
    + is not set, this will be prompted for.
    + 
    + --[no-]outlook-id-fix::
    + 	Microsoft Outlook SMTP servers discard the Message-ID sent via email and
    + 	assign a new random Message-ID, thus breaking threads.
    + +
    +-With `--outlook-id-fix`, 'git send-email' uses a mechanism specific to
    ++With `--outlook-id-fix`, `git send-email` uses a mechanism specific to
    + Outlook servers to learn the Message-ID the server assigned to fix the
    + threading. Use it only when you know that the server reports the
    + rewritten Message-ID the same way as Outlook servers do.
    +@@ Documentation/git-send-email.adoc: to 'smtp.office365.com' or 'smtp-mail.outlook.com'. Use
    + 
    + --subject=<string>::
    + 	Specify the initial subject of the email thread.
    +-	Only necessary if --compose is also set.  If --compose
    ++	Only necessary if `--compose` is also set.  If `--compose`
    + 	is not set, this will be prompted for.
    + 
    + --to=<address>,...::
    + 	Specify the primary recipient of the emails generated. Generally, this
    + 	will be the upstream maintainer of the project involved. Default is the
    + 	value of the `sendemail.to` configuration value; if that is unspecified,
    +-	and --to-cmd is not specified, this will be prompted for.
    ++	and `--to-cmd` is not specified, this will be prompted for.
    + +
    + This option may be specified multiple times.
    + 
    +@@ Documentation/git-send-email.adoc: This option may be specified multiple times.
    + 	When encountering a non-ASCII message or subject that does not
    + 	declare its encoding, add headers/quoting to indicate it is
    + 	encoded in <encoding>.  Default is the value of the
    +-	'sendemail.assume8bitEncoding'; if that is unspecified, this
    ++	`sendemail.assume8bitEncoding`; if that is unspecified, this
    + 	will be prompted for if any non-ASCII files are encountered.
    + +
    + Note that no attempts whatsoever are made to validate the encoding.
    + 
    + --compose-encoding=<encoding>::
    + 	Specify encoding of compose message. Default is the value of the
    +-	'sendemail.composeEncoding'; if that is unspecified, UTF-8 is assumed.
    ++	`sendemail.composeEncoding`; if that is unspecified, UTF-8 is assumed.
    + 
    + --transfer-encoding=(7bit|8bit|quoted-printable|base64|auto)::
    + 	Specify the transfer encoding to be used to send the message over SMTP.
    +-	7bit will fail upon encountering a non-ASCII message.  quoted-printable
    ++	'7bit' will fail upon encountering a non-ASCII message. 'quoted-printable'
    + 	can be useful when the repository contains files that contain carriage
    +-	returns, but makes the raw patch email file (as saved from a MUA) much
    +-	harder to inspect manually.  base64 is even more fool proof, but also
    +-	even more opaque.  auto will use 8bit when possible, and quoted-printable
    +-	otherwise.
    ++	returns, but makes the raw patch email file (as saved from an MUA) much
    ++	harder to inspect manually. 'base64' is even more fool proof, but also
    ++	even more opaque. 'auto' will use '8bit' when possible, and
    ++	'quoted-printable' otherwise.
    + +
    + Default is the value of the `sendemail.transferEncoding` configuration
    +-value; if that is unspecified, default to `auto`.
    ++value; if that is unspecified, default to 'auto'.
    + 
    + --xmailer::
    + --no-xmailer::
    +-	Add (or prevent adding) the "X-Mailer:" header.  By default,
    ++	Add (or prevent adding) the 'X-Mailer:' header.  By default,
    + 	the header is added, but it can be turned off by setting the
    + 	`sendemail.xmailer` configuration variable to `false`.
    + 
    +@@ Documentation/git-send-email.adoc: Sending
    + 	Specify the envelope sender used to send the emails.
    + 	This is useful if your default address is not the address that is
    + 	subscribed to a list. In order to use the 'From' address, set the
    +-	value to "auto". If you use the sendmail binary, you must have
    +-	suitable privileges for the -f parameter.  Default is the value of the
    ++	value to `auto`. If you use the `sendmail` binary, you must have
    ++	suitable privileges for the `-f` parameter.  Default is the value of the
    + 	`sendemail.envelopeSender` configuration variable; if that is
    + 	unspecified, choosing the envelope sender is left to your MTA.
    + 
    +@@ Documentation/git-send-email.adoc: Sending
    + 	be sendmail-like; specifically, it must support the `-i` option.
    + 	The command will be executed in the shell if necessary.  Default
    + 	is the value of `sendemail.sendmailCmd`.  If unspecified, and if
    +-	--smtp-server is also unspecified, git-send-email will search
    +-	for `sendmail` in `/usr/sbin`, `/usr/lib` and $PATH.
    ++	`--smtp-server` is also unspecified, `git send-email` will search
    ++	for `sendmail` in `/usr/sbin`, `/usr/lib` and `$PATH`.
    + 
    + --smtp-encryption=<encryption>::
    + 	Specify in what way encrypting begins for the SMTP connection.
    +@@ Documentation/git-send-email.adoc: Sending
    + --smtp-domain=<FQDN>::
    + 	Specifies the Fully Qualified Domain Name (FQDN) used in the
    + 	HELO/EHLO command to the SMTP server.  Some servers require the
    +-	FQDN to match your IP address.  If not set, git send-email attempts
    ++	FQDN to match your IP address.  If not set, `git send-email` attempts
    + 	to determine your FQDN automatically.  Default is the value of
    + 	`sendemail.smtpDomain`.
    + 
    +@@ Documentation/git-send-email.adoc: $ git send-email --smtp-auth="PLAIN LOGIN GSSAPI" ...
    + +
    + If at least one of the specified mechanisms matches the ones advertised by the
    + SMTP server and if it is supported by the utilized SASL library, the mechanism
    +-is used for authentication. If neither 'sendemail.smtpAuth' nor `--smtp-auth`
    ++is used for authentication. If neither `sendemail.smtpAuth` nor `--smtp-auth`
    + is specified, all mechanisms supported by the SASL library can be used. The
    +-special value 'none' maybe specified to completely disable authentication
    +-independently of `--smtp-user`
    ++special value `none` maybe specified to completely disable authentication
    ++independently of `--smtp-user`.
    + 
    + --smtp-pass[=<password>]::
    + 	Password for SMTP-AUTH. The argument is optional: If no
    +@@ Documentation/git-send-email.adoc: Furthermore, passwords need not be specified in configuration files
    + or on the command line. If a username has been specified (with
    + `--smtp-user` or a `sendemail.smtpUser`), but no password has been
    + specified (with `--smtp-pass` or `sendemail.smtpPass`), then
    +-a password is obtained using 'git-credential'.
    ++a password is obtained using linkgit:git-credential[1].
    + 
    + --no-smtp-auth::
    +-	Disable SMTP authentication. Short hand for `--smtp-auth=none`
    ++	Disable SMTP authentication. Short hand for `--smtp-auth=none`.
    + 
    + --smtp-server=<host>::
    + 	If set, specifies the outgoing SMTP server to use (e.g.
    + 	`smtp.example.com` or a raw IP address).  If unspecified, and if
    + 	`--sendmail-cmd` is also unspecified, the default is to search
    +-	for `sendmail` in `/usr/sbin`, `/usr/lib` and $PATH if such a
    ++	for `sendmail` in `/usr/sbin`, `/usr/lib` and `$PATH` if such a
    + 	program is available, falling back to `localhost` otherwise.
    + +
    + For backward compatibility, this option can also specify a full pathname
    +@@ Documentation/git-send-email.adoc: instead.
    + 	Specifies a port different from the default port (SMTP
    + 	servers typically listen to smtp port 25, but may also listen to
    + 	submission port 587, or the common SSL smtp port 465);
    +-	symbolic port names (e.g. "submission" instead of 587)
    ++	symbolic port names (e.g. `submission` instead of 587)
    + 	are also accepted. The port can also be set with the
    + 	`sendemail.smtpServerPort` configuration variable.
    + 
    +@@ Documentation/git-send-email.adoc: instead.
    + 	Default value can be specified by the `sendemail.smtpServerOption`
    + 	configuration option.
    + +
    +-The --smtp-server-option option must be repeated for each option you want
    ++The `--smtp-server-option` option must be repeated for each option you want
    + to pass to the server. Likewise, different lines in the configuration files
    + must be used for each option.
    + 
    +@@ Documentation/git-send-email.adoc: must be used for each option.
    + --smtp-ssl-cert-path::
    + 	Path to a store of trusted CA certificates for SMTP SSL/TLS
    + 	certificate validation (either a directory that has been processed
    +-	by 'c_rehash', or a single file containing one or more PEM format
    +-	certificates concatenated together: see verify(1) -CAfile and
    +-	-CApath for more information on these). Set it to an empty string
    ++	by `c_rehash`, or a single file containing one or more PEM format
    ++	certificates concatenated together). Set it to an empty string
    + 	to disable certificate verification. Defaults to the value of the
    + 	`sendemail.smtpSSLCertPath` configuration variable, if set, or the
    + 	backing SSL library's compiled-in default otherwise (which should
    +@@ Documentation/git-send-email.adoc: must be used for each option.
    + 	connection and authentication problems.
    + 
    + --batch-size=<num>::
    +-	Some email servers (e.g. smtp.163.com) limit the number emails to be
    ++	Some email servers (e.g. 'smtp.163.com') limit the number of emails to be
    + 	sent per session (connection) and this will lead to a failure when
    + 	sending many messages.  With this option, send-email will disconnect after
    +-	sending $<num> messages and wait for a few seconds (see --relogin-delay)
    +-	and reconnect, to work around such a limit.  You may want to
    +-	use some form of credential helper to avoid having to retype
    +-	your password every time this happens.  Defaults to the
    ++	sending `$<num>` messages and wait for a few seconds
    ++	(see `--relogin-delay`) and reconnect, to work around such a limit.
    ++	You may want to use some form of credential helper to avoid having to
    ++	retype your password every time this happens.  Defaults to the
    + 	`sendemail.smtpBatchSize` configuration variable.
    + 
    + --relogin-delay=<int>::
    +-	Waiting $<int> seconds before reconnecting to SMTP server. Used together
    +-	with --batch-size option.  Defaults to the `sendemail.smtpReloginDelay`
    ++	Waiting `$<int>` seconds before reconnecting to SMTP server. Used together
    ++	with `--batch-size` option.  Defaults to the `sendemail.smtpReloginDelay`
    + 	configuration variable.
    + 
    + Automating
    +@@ Documentation/git-send-email.adoc: Automating
    + --no-to::
    + --no-cc::
    + --no-bcc::
    +-	Clears any list of "To:", "Cc:", "Bcc:" addresses previously
    ++	Clears any list of 'To:', 'Cc:', 'Bcc:' addresses previously
    + 	set via config.
    + 
    + --no-identity::
    +@@ Documentation/git-send-email.adoc: Automating
    + 
    + --to-cmd=<command>::
    + 	Specify a command to execute once per patch file which
    +-	should generate patch file specific "To:" entries.
    ++	should generate patch file specific 'To:' entries.
    + 	Output of this command must be single email address per line.
    +-	Default is the value of 'sendemail.toCmd' configuration value.
    ++	Default is the value of `sendemail.toCmd` configuration value.
    + 
    + --cc-cmd=<command>::
    + 	Specify a command to execute once per patch file which
    +-	should generate patch file specific "Cc:" entries.
    ++	should generate patch file specific 'Cc:' entries.
    + 	Output of this command must be single email address per line.
    + 	Default is the value of `sendemail.ccCmd` configuration value.
    + 
    +@@ Documentation/git-send-email.adoc: Automating
    + 	Specify a command that is executed once per outgoing message
    + 	and output RFC 2822 style header lines to be inserted into
    + 	them. When the `sendemail.headerCmd` configuration variable is
    +-	set, its value is always used. When --header-cmd is provided
    ++	set, its value is always used. When `--header-cmd` is provided
    + 	at the command line, its value takes precedence over the
    + 	`sendemail.headerCmd` configuration variable.
    + 
    +@@ Documentation/git-send-email.adoc: Automating
    + 
    + --[no-]chain-reply-to::
    + 	If this is set, each email will be sent as a reply to the previous
    +-	email sent.  If disabled with "--no-chain-reply-to", all emails after
    ++	email sent.  If disabled with `--no-chain-reply-to`, all emails after
    + 	the first will be sent as replies to the first email sent.  When using
    + 	this, it is recommended that the first file given be an overview of the
    + 	entire patch series. Disabled by default, but the `sendemail.chainReplyTo`
    +@@ Documentation/git-send-email.adoc: Automating
    + 	the value of `sendemail.identity`.
    + 
    + --[no-]signed-off-by-cc::
    +-	If this is set, add emails found in the `Signed-off-by` trailer or Cc: lines to the
    +-	cc list. Default is the value of `sendemail.signedOffByCc` configuration
    +-	value; if that is unspecified, default to --signed-off-by-cc.
    ++	If this is set, add emails found in the `Signed-off-by` trailer or 'Cc:'
    ++	lines to the cc list. Default is the value of `sendemail.signedOffByCc`
    ++	configuration value; if that is unspecified, default to
    ++	`--signed-off-by-cc`.
    + 
    + --[no-]cc-cover::
    +-	If this is set, emails found in Cc: headers in the first patch of
    ++	If this is set, emails found in 'Cc:' headers in the first patch of
    + 	the series (typically the cover letter) are added to the cc list
    +-	for each email set. Default is the value of 'sendemail.ccCover'
    +-	configuration value; if that is unspecified, default to --no-cc-cover.
    ++	for each email set. Default is the value of `sendemail.ccCover`
    ++	configuration value; if that is unspecified, default to `--no-cc-cover`.
    + 
    + --[no-]to-cover::
    +-	If this is set, emails found in To: headers in the first patch of
    ++	If this is set, emails found in 'To:' headers in the first patch of
    + 	the series (typically the cover letter) are added to the to list
    +-	for each email set. Default is the value of 'sendemail.toCover'
    +-	configuration value; if that is unspecified, default to --no-to-cover.
    ++	for each email set. Default is the value of `sendemail.toCover`
    ++	configuration value; if that is unspecified, default to `--no-to-cover`.
    + 
    + --suppress-cc=<category>::
    + 	Specify an additional category of recipients to suppress the
    +@@ Documentation/git-send-email.adoc: Automating
    + --
    + +
    + Default is the value of `sendemail.suppressCc` configuration value; if
    +-that is unspecified, default to 'self' if --suppress-from is
    +-specified, as well as 'body' if --no-signed-off-cc is specified.
    ++that is unspecified, default to 'self' if `--suppress-from` is
    ++specified, as well as 'body' if `--no-signed-off-cc` is specified.
    + 
    + --[no-]suppress-from::
    +-	If this is set, do not add the From: address to the cc: list.
    ++	If this is set, do not add the 'From:' address to the 'Cc:' list.
    + 	Default is the value of `sendemail.suppressFrom` configuration
    +-	value; if that is unspecified, default to --no-suppress-from.
    ++	value; if that is unspecified, default to `--no-suppress-from`.
    + 
    + --[no-]thread::
    +-	If this is set, the In-Reply-To and References headers will be
    ++	If this is set, the 'In-Reply-To' and 'References' headers will be
    + 	added to each email sent.  Whether each mail refers to the
    +-	previous email (`deep` threading per 'git format-patch'
    ++	previous email (`deep` threading per `git format-patch`
    + 	wording) or to the first email (`shallow` threading) is
    +-	governed by "--[no-]chain-reply-to".
    ++	governed by `--[no-]chain-reply-to`.
    + +
    +-If disabled with "--no-thread", those headers will not be added
    +-(unless specified with --in-reply-to).  Default is the value of the
    ++If disabled with `--no-thread`, those headers will not be added
    ++(unless specified with `--in-reply-to`).  Default is the value of the
    + `sendemail.thread` configuration value; if that is unspecified,
    +-default to --thread.
    ++default to `--thread`.
    + +
    + It is up to the user to ensure that no In-Reply-To header already
    +-exists when 'git send-email' is asked to add it (especially note that
    +-'git format-patch' can be configured to do the threading itself).
    ++exists when `git send-email` is asked to add it (especially note that
    ++`git format-patch` can be configured to do the threading itself).
    + Failure to do so may not produce the expected result in the
    + recipient's MUA.
    + 
    + --[no-]mailmap::
    + 	Use the mailmap file (see linkgit:gitmailmap[5]) to map all
    + 	addresses to their canonical real name and email address. Additional
    +-	mailmap data specific to git-send-email may be provided using the
    ++	mailmap data specific to `git send-email` may be provided using the
    + 	`sendemail.mailmap.file` or `sendemail.mailmap.blob` configuration
    + 	values. Defaults to `sendemail.mailmap`.
    + 
    +@@ Documentation/git-send-email.adoc: Administering
    + 	Confirm just before sending:
    + +
    + --
    +-- 'always' will always confirm before sending
    +-- 'never' will never confirm before sending
    ++- 'always' will always confirm before sending.
    ++- 'never' will never confirm before sending.
    + - 'cc' will confirm before sending when send-email has automatically
    +-  added addresses from the patch to the Cc list
    ++  added addresses from the patch to the Cc list.
    + - 'compose' will confirm before sending the first message when using --compose.
    +-- 'auto' is equivalent to 'cc' + 'compose'
    ++- 'auto' is equivalent to 'cc' + 'compose'.
    + --
    + +
    + Default is the value of `sendemail.confirm` configuration value; if that
    +@@ Documentation/git-send-email.adoc: have been specified, in which case default to 'compose'.
    + 	When an argument may be understood either as a reference or as a file name,
    + 	choose to understand it as a format-patch argument (`--format-patch`)
    + 	or as a file name (`--no-format-patch`). By default, when such a conflict
    +-	occurs, git send-email will fail.
    ++	occurs, `git send-email` will fail.
    + 
    + --quiet::
    +-	Make git-send-email less verbose.  One line per email should be
    ++	Make `git send-email` less verbose.  One line per email should be
    + 	all that is output.
    + 
    + --[no-]validate::
    +@@ Documentation/git-send-email.adoc: edit `~/.gitconfig` to specify your account settings:
    + ----
    + 
    + If you have multi-factor authentication set up on your Gmail account, you can
    +-generate an app-specific password for use with 'git send-email'. Visit
    ++generate an app-specific password for use with `git send-email`. Visit
    + https://security.google.com/settings/security/apppasswords to create it.
    + 
    + You can also use OAuth2.0 authentication with Gmail. `OAUTHBEARER` and
    +@@ Documentation/git-send-email.adoc: helpers.
    + 
    + Note: the following core Perl modules that may be installed with your
    + distribution of Perl are required:
    +-MIME::Base64, MIME::QuotedPrint, Net::Domain and Net::SMTP.
    ++
    ++https://metacpan.org/pod/MIME::Base64[MIME::Base64],
    ++https://metacpan.org/pod/MIME::QuotedPrint[MIME::QuotedPrint],
    ++https://metacpan.org/pod/Net::Domain[Net::Domain] and
    ++https://metacpan.org/pod/Net::SMTP[Net::SMTP].
    ++
    + These additional Perl modules are also required:
    +-Authen::SASL and Mail::Address.
    ++
    ++https://metacpan.org/pod/Authen::SASL[Authen::SASL] and
    ++https://metacpan.org/pod/Mail::Address[Mail::Address].
    + 
    + 
    + SEE ALSO
-:  ---------- > 3:  b9e41e2492 docs: remove credential helper links for emails from gitcredentials
-:  ---------- > 4:  a6ad7ac810 docs: make the purpose of using app password for Gmail more clear in send-email
-- 
2.49.0.windows.1





[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux