Documentation / git-send-email.txton commit refactor userdiff textconv code (04427ac)
   1git-send-email(1)
   2=================
   3
   4NAME
   5----
   6git-send-email - Send a collection of patches as emails
   7
   8
   9SYNOPSIS
  10--------
  11'git send-email' [options] <file|directory> [... file|directory]
  12
  13
  14DESCRIPTION
  15-----------
  16Takes the patches given on the command line and emails them out.
  17
  18The header of the email is configurable by command line options.  If not
  19specified on the command line, the user will be prompted with a ReadLine
  20enabled interface to provide the necessary information.
  21
  22
  23OPTIONS
  24-------
  25
  26Composing
  27~~~~~~~~~
  28
  29--bcc::
  30        Specify a "Bcc:" value for each email. Default is the value of
  31        'sendemail.bcc'.
  32+
  33The --bcc option must be repeated for each user you want on the bcc list.
  34
  35--cc::
  36        Specify a starting "Cc:" value for each email.
  37+
  38The --cc option must be repeated for each user you want on the cc list.
  39
  40--compose::
  41        Use $GIT_EDITOR, core.editor, $VISUAL, or $EDITOR to edit an
  42        introductory message for the patch series.
  43
  44--from::
  45        Specify the sender of the emails.  This will default to
  46        the value GIT_COMMITTER_IDENT, as returned by "git var -l".
  47        The user will still be prompted to confirm this entry.
  48
  49--in-reply-to::
  50        Specify the contents of the first In-Reply-To header.
  51        Subsequent emails will refer to the previous email
  52        instead of this if --chain-reply-to is set (the default)
  53        Only necessary if --compose is also set.  If --compose
  54        is not set, this will be prompted for.
  55
  56--subject::
  57        Specify the initial subject of the email thread.
  58        Only necessary if --compose is also set.  If --compose
  59        is not set, this will be prompted for.
  60
  61--to::
  62        Specify the primary recipient of the emails generated. Generally, this
  63        will be the upstream maintainer of the project involved. Default is the
  64        value of the 'sendemail.to' configuration value; if that is unspecified,
  65        this will be prompted for.
  66+
  67The --to option must be repeated for each user you want on the to list.
  68
  69
  70Sending
  71~~~~~~~
  72
  73--envelope-sender::
  74        Specify the envelope sender used to send the emails.
  75        This is useful if your default address is not the address that is
  76        subscribed to a list. If you use the sendmail binary, you must have
  77        suitable privileges for the -f parameter. Default is the value of
  78        the 'sendemail.envelopesender' configuration variable; if that is
  79        unspecified, choosing the envelope sender is left to your MTA.
  80
  81--smtp-encryption::
  82        Specify the encryption to use, either 'ssl' or 'tls'.  Any other
  83        value reverts to plain SMTP.  Default is the value of
  84        'sendemail.smtpencryption'.
  85
  86--smtp-pass::
  87        Password for SMTP-AUTH. The argument is optional: If no
  88        argument is specified, then the empty string is used as
  89        the password. Default is the value of 'sendemail.smtppass',
  90        however '--smtp-pass' always overrides this value.
  91+
  92Furthermore, passwords need not be specified in configuration files
  93or on the command line. If a username has been specified (with
  94'--smtp-user' or a 'sendemail.smtpuser'), but no password has been
  95specified (with '--smtp-pass' or 'sendemail.smtppass'), then the
  96user is prompted for a password while the input is masked for privacy.
  97
  98--smtp-server::
  99        If set, specifies the outgoing SMTP server to use (e.g.
 100        `smtp.example.com` or a raw IP address).  Alternatively it can
 101        specify a full pathname of a sendmail-like program instead;
 102        the program must support the `-i` option.  Default value can
 103        be specified by the 'sendemail.smtpserver' configuration
 104        option; the built-in default is `/usr/sbin/sendmail` or
 105        `/usr/lib/sendmail` if such program is available, or
 106        `localhost` otherwise.
 107
 108--smtp-server-port::
 109        Specifies a port different from the default port (SMTP
 110        servers typically listen to smtp port 25 and ssmtp port
 111        465). This can be set with 'sendemail.smtpserverport'.
 112
 113--smtp-ssl::
 114        Legacy alias for '--smtp-encryption ssl'.
 115
 116--smtp-user::
 117        Username for SMTP-AUTH. Default is the value of 'sendemail.smtpuser';
 118        if a username is not specified (with '--smtp-user' or 'sendemail.smtpuser'),
 119        then authentication is not attempted.
 120
 121
 122Automating
 123~~~~~~~~~~
 124
 125--cc-cmd::
 126        Specify a command to execute once per patch file which
 127        should generate patch file specific "Cc:" entries.
 128        Output of this command must be single email address per line.
 129        Default is the value of 'sendemail.cccmd' configuration value.
 130
 131--[no-]chain-reply-to::
 132        If this is set, each email will be sent as a reply to the previous
 133        email sent.  If disabled with "--no-chain-reply-to", all emails after
 134        the first will be sent as replies to the first email sent.  When using
 135        this, it is recommended that the first file given be an overview of the
 136        entire patch series. Default is the value of the 'sendemail.chainreplyto'
 137        configuration value; if that is unspecified, default to --chain-reply-to.
 138
 139--identity::
 140        A configuration identity. When given, causes values in the
 141        'sendemail.<identity>' subsection to take precedence over
 142        values in the 'sendemail' section. The default identity is
 143        the value of 'sendemail.identity'.
 144
 145--[no-]signed-off-by-cc::
 146        If this is set, add emails found in Signed-off-by: or Cc: lines to the
 147        cc list. Default is the value of 'sendemail.signedoffbycc' configuration
 148        value; if that is unspecified, default to --signed-off-by-cc.
 149
 150--suppress-cc::
 151        Specify an additional category of recipients to suppress the
 152        auto-cc of.  'self' will avoid including the sender, 'author' will
 153        avoid including the patch author, 'cc' will avoid including anyone
 154        mentioned in Cc lines in the patch, 'sob' will avoid including
 155        anyone mentioned in Signed-off-by lines, and 'cccmd' will avoid
 156        running the --cc-cmd.  'all' will suppress all auto cc values.
 157        Default is the value of 'sendemail.suppresscc' configuration value;
 158        if that is unspecified, default to 'self' if --suppress-from is
 159        specified, as well as 'sob' if --no-signed-off-cc is specified.
 160
 161--[no-]suppress-from::
 162        If this is set, do not add the From: address to the cc: list.
 163        Default is the value of 'sendemail.suppressfrom' configuration
 164        value; if that is unspecified, default to --no-suppress-from.
 165
 166--[no-]thread::
 167        If this is set, the In-Reply-To header will be set on each email sent.
 168        If disabled with "--no-thread", no emails will have the In-Reply-To
 169        header set. Default is the value of the 'sendemail.thread' configuration
 170        value; if that is unspecified, default to --thread.
 171
 172
 173Administering
 174~~~~~~~~~~~~~
 175
 176--dry-run::
 177        Do everything except actually send the emails.
 178
 179--quiet::
 180        Make git-send-email less verbose.  One line per email should be
 181        all that is output.
 182
 183--[no-]validate::
 184        Perform sanity checks on patches.
 185        Currently, validation means the following:
 186+
 187--
 188                *       Warn of patches that contain lines longer than 998 characters; this
 189                        is due to SMTP limits as described by http://www.ietf.org/rfc/rfc2821.txt.
 190--
 191+
 192Default is the value of 'sendemail.validate'; if this is not set,
 193default to '--validate'.
 194
 195
 196CONFIGURATION
 197-------------
 198
 199sendemail.aliasesfile::
 200        To avoid typing long email addresses, point this to one or more
 201        email aliases files.  You must also supply 'sendemail.aliasfiletype'.
 202
 203sendemail.aliasfiletype::
 204        Format of the file(s) specified in sendemail.aliasesfile. Must be
 205        one of 'mutt', 'mailrc', 'pine', or 'gnus'.
 206
 207
 208Author
 209------
 210Written by Ryan Anderson <ryan@michonline.com>
 211
 212git-send-email is originally based upon
 213send_lots_of_email.pl by Greg Kroah-Hartman.
 214
 215
 216Documentation
 217--------------
 218Documentation by Ryan Anderson
 219
 220
 221GIT
 222---
 223Part of the linkgit:git[1] suite