| git-send-email(1) |
| ================= |
| |
| NAME |
| ---- |
| git-send-email - Send a collection of patches as emails |
| |
| |
| SYNOPSIS |
| -------- |
| 'git send-email' [options] <file|directory|rev-list options>... |
| |
| |
| DESCRIPTION |
| ----------- |
| Takes the patches given on the command line and emails them out. |
| |
| The header of the email is configurable by command line options. If not |
| specified on the command line, the user will be prompted with a ReadLine |
| enabled interface to provide the necessary information. |
| |
| |
| OPTIONS |
| ------- |
| |
| Composing |
| ~~~~~~~~~ |
| |
| --bcc:: |
| Specify a "Bcc:" value for each email. Default is the value of |
| 'sendemail.bcc'. |
| + |
| The --bcc option must be repeated for each user you want on the bcc list. |
| |
| --cc:: |
| Specify a starting "Cc:" value for each email. |
| Default is the value of 'sendemail.cc'. |
| + |
| The --cc option must be repeated for each user you want on the cc list. |
| |
| --annotate:: |
| Review each patch you're about to send in an editor. The setting |
| 'sendemail.multiedit' defines if this will spawn one editor per patch |
| or one for all of them at once. |
| |
| --compose:: |
| Use $GIT_EDITOR, core.editor, $VISUAL, or $EDITOR to edit an |
| introductory message for the patch series. |
| + |
| When '--compose' is used, git send-email gets less interactive will use the |
| values of the headers you set there. If the body of the email (what you type |
| after the headers and a blank line) only contains blank (or GIT: prefixed) |
| lines, the summary won't be sent, but git-send-email will still use the |
| Headers values if you don't removed them. |
| + |
| If it wasn't able to see a header in the summary it will ask you about it |
| interactively after quitting your editor. |
| |
| --from:: |
| Specify the sender of the emails. This will default to |
| the value GIT_COMMITTER_IDENT, as returned by "git var -l". |
| The user will still be prompted to confirm this entry. |
| |
| --in-reply-to:: |
| Specify the contents of the first In-Reply-To header. |
| Subsequent emails will refer to the previous email |
| instead of this if --chain-reply-to is set (the default) |
| Only necessary if --compose is also set. If --compose |
| is not set, this will be prompted for. |
| |
| --subject:: |
| Specify the initial subject of the email thread. |
| Only necessary if --compose is also set. If --compose |
| is not set, this will be prompted for. |
| |
| --to:: |
| 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, |
| this will be prompted for. |
| + |
| The --to option must be repeated for each user you want on the to list. |
| |
| |
| Sending |
| ~~~~~~~ |
| |
| --envelope-sender:: |
| 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. 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. |
| |
| --smtp-encryption:: |
| Specify the encryption to use, either 'ssl' or 'tls'. Any other |
| value reverts to plain SMTP. Default is the value of |
| 'sendemail.smtpencryption'. |
| |
| --smtp-pass:: |
| Password for SMTP-AUTH. The argument is optional: If no |
| argument is specified, then the empty string is used as |
| the password. Default is the value of 'sendemail.smtppass', |
| however '--smtp-pass' always overrides this value. |
| + |
| 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 the |
| user is prompted for a password while the input is masked for privacy. |
| |
| --smtp-server:: |
| If set, specifies the outgoing SMTP server to use (e.g. |
| `smtp.example.com` or a raw IP address). Alternatively it can |
| specify a full pathname of a sendmail-like program instead; |
| the program must support the `-i` option. Default value can |
| be specified by the 'sendemail.smtpserver' configuration |
| option; the built-in default is `/usr/sbin/sendmail` or |
| `/usr/lib/sendmail` if such program is available, or |
| `localhost` otherwise. |
| |
| --smtp-server-port:: |
| Specifies a port different from the default port (SMTP |
| servers typically listen to smtp port 25 and ssmtp port |
| 465). This can be set with 'sendemail.smtpserverport'. |
| |
| --smtp-ssl:: |
| Legacy alias for '--smtp-encryption ssl'. |
| |
| --smtp-user:: |
| Username for SMTP-AUTH. Default is the value of 'sendemail.smtpuser'; |
| if a username is not specified (with '--smtp-user' or 'sendemail.smtpuser'), |
| then authentication is not attempted. |
| |
| |
| Automating |
| ~~~~~~~~~~ |
| |
| --cc-cmd:: |
| Specify a command to execute once per patch file which |
| 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. |
| |
| --[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 |
| 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. Default is the value of the 'sendemail.chainreplyto' |
| configuration value; if that is unspecified, default to --chain-reply-to. |
| |
| --identity:: |
| A configuration identity. When given, causes values in the |
| 'sendemail.<identity>' subsection to take precedence over |
| values in the 'sendemail' section. The default identity is |
| the value of 'sendemail.identity'. |
| |
| --[no-]signed-off-by-cc:: |
| If this is set, add emails found in Signed-off-by: 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. |
| |
| --suppress-cc:: |
| Specify an additional category of recipients to suppress the |
| auto-cc of. 'self' will avoid including the sender, 'author' will |
| avoid including the patch author, 'cc' will avoid including anyone |
| mentioned in Cc lines in the patch, 'sob' will avoid including |
| anyone mentioned in Signed-off-by lines, and 'cccmd' will avoid |
| running the --cc-cmd. 'all' will suppress all auto cc values. |
| Default is the value of 'sendemail.suppresscc' configuration value; |
| if that is unspecified, default to 'self' if --suppress-from is |
| specified, as well as 'sob' if --no-signed-off-cc is specified. |
| |
| --[no-]suppress-from:: |
| 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. |
| |
| --[no-]thread:: |
| If this is set, the In-Reply-To header will be set on each email sent. |
| If disabled with "--no-thread", no emails will have the In-Reply-To |
| header set. Default is the value of the 'sendemail.thread' configuration |
| value; if that is unspecified, default to --thread. |
| |
| |
| Administering |
| ~~~~~~~~~~~~~ |
| |
| --dry-run:: |
| Do everything except actually send the emails. |
| |
| --quiet:: |
| Make git-send-email less verbose. One line per email should be |
| all that is output. |
| |
| --[no-]validate:: |
| Perform sanity checks on patches. |
| Currently, validation means the following: |
| + |
| -- |
| * Warn of patches that contain lines longer than 998 characters; this |
| is due to SMTP limits as described by http://www.ietf.org/rfc/rfc2821.txt. |
| -- |
| + |
| Default is the value of 'sendemail.validate'; if this is not set, |
| default to '--validate'. |
| |
| --[no-]format-patch:: |
| 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. |
| |
| |
| CONFIGURATION |
| ------------- |
| |
| sendemail.aliasesfile:: |
| To avoid typing long email addresses, point this to one or more |
| email aliases files. You must also supply 'sendemail.aliasfiletype'. |
| |
| sendemail.aliasfiletype:: |
| Format of the file(s) specified in sendemail.aliasesfile. Must be |
| one of 'mutt', 'mailrc', 'pine', or 'gnus'. |
| |
| sendemail.multiedit:: |
| 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 |
| after the other, spawning a new editor each time. |
| |
| |
| Author |
| ------ |
| Written by Ryan Anderson <ryan@michonline.com> |
| |
| git-send-email is originally based upon |
| send_lots_of_email.pl by Greg Kroah-Hartman. |
| |
| |
| Documentation |
| -------------- |
| Documentation by Ryan Anderson |
| |
| |
| GIT |
| --- |
| Part of the linkgit:git[1] suite |