Documentation / git-send-email.txton commit Merge branch 'maint-1.6.2' into maint-1.6.3 (5e64650)
   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|rev-list options>...
  12
  13
  14DESCRIPTION
  15-----------
  16Takes the patches given on the command line and emails them out.
  17Patches can be specified as files, directories (which will send all
  18files in the directory), or directly as a revision list.  In the
  19last case, any format accepted by linkgit:git-format-patch[1] can
  20be passed to git send-email.
  21
  22The header of the email is configurable by command line options.  If not
  23specified on the command line, the user will be prompted with a ReadLine
  24enabled interface to provide the necessary information.
  25
  26There are two formats accepted for patch files:
  27
  281. mbox format files
  29+
  30This is what linkgit:git-format-patch[1] generates.  Most headers and MIME
  31formatting are ignored.
  32
  332. The original format used by Greg Kroah-Hartman's 'send_lots_of_email.pl'
  34script
  35+
  36This format expects the first line of the file to contain the "Cc:" value
  37and the "Subject:" of the message as the second line.
  38
  39
  40OPTIONS
  41-------
  42
  43Composing
  44~~~~~~~~~
  45
  46--bcc=<address>::
  47        Specify a "Bcc:" value for each email. Default is the value of
  48        'sendemail.bcc'.
  49+
  50The --bcc option must be repeated for each user you want on the bcc list.
  51
  52--cc=<address>::
  53        Specify a starting "Cc:" value for each email.
  54        Default is the value of 'sendemail.cc'.
  55+
  56The --cc option must be repeated for each user you want on the cc list.
  57
  58--annotate::
  59        Review each patch you're about to send in an editor. The setting
  60        'sendemail.multiedit' defines if this will spawn one editor per patch
  61        or one for all of them at once.
  62
  63--compose::
  64        Use $GIT_EDITOR, core.editor, $VISUAL, or $EDITOR to edit an
  65        introductory message for the patch series.
  66+
  67When '--compose' is used, git send-email will use the From, Subject, and
  68In-Reply-To headers specified in the message. If the body of the message
  69(what you type after the headers and a blank line) only contains blank
  70(or GIT: prefixed) lines the summary won't be sent, but From, Subject,
  71and In-Reply-To headers will be used unless they are removed.
  72+
  73Missing From or In-Reply-To headers will be prompted for.
  74
  75--from=<address>::
  76        Specify the sender of the emails.  This will default to
  77        the value GIT_COMMITTER_IDENT, as returned by "git var -l".
  78        The user will still be prompted to confirm this entry.
  79
  80--in-reply-to=<identifier>::
  81        Specify the contents of the first In-Reply-To header.
  82        Subsequent emails will refer to the previous email
  83        instead of this if --chain-reply-to is set (the default)
  84        Only necessary if --compose is also set.  If --compose
  85        is not set, this will be prompted for.
  86
  87--subject=<string>::
  88        Specify the initial subject of the email thread.
  89        Only necessary if --compose is also set.  If --compose
  90        is not set, this will be prompted for.
  91
  92--to=<address>::
  93        Specify the primary recipient of the emails generated. Generally, this
  94        will be the upstream maintainer of the project involved. Default is the
  95        value of the 'sendemail.to' configuration value; if that is unspecified,
  96        this will be prompted for.
  97+
  98The --to option must be repeated for each user you want on the to list.
  99
 100
 101Sending
 102~~~~~~~
 103
 104--envelope-sender=<address>::
 105        Specify the envelope sender used to send the emails.
 106        This is useful if your default address is not the address that is
 107        subscribed to a list. If you use the sendmail binary, you must have
 108        suitable privileges for the -f parameter. Default is the value of
 109        the 'sendemail.envelopesender' configuration variable; if that is
 110        unspecified, choosing the envelope sender is left to your MTA.
 111
 112--smtp-encryption=<encryption>::
 113        Specify the encryption to use, either 'ssl' or 'tls'.  Any other
 114        value reverts to plain SMTP.  Default is the value of
 115        'sendemail.smtpencryption'.
 116
 117--smtp-pass[=<password>]::
 118        Password for SMTP-AUTH. The argument is optional: If no
 119        argument is specified, then the empty string is used as
 120        the password. Default is the value of 'sendemail.smtppass',
 121        however '--smtp-pass' always overrides this value.
 122+
 123Furthermore, passwords need not be specified in configuration files
 124or on the command line. If a username has been specified (with
 125'--smtp-user' or a 'sendemail.smtpuser'), but no password has been
 126specified (with '--smtp-pass' or 'sendemail.smtppass'), then the
 127user is prompted for a password while the input is masked for privacy.
 128
 129--smtp-server=<host>::
 130        If set, specifies the outgoing SMTP server to use (e.g.
 131        `smtp.example.com` or a raw IP address).  Alternatively it can
 132        specify a full pathname of a sendmail-like program instead;
 133        the program must support the `-i` option.  Default value can
 134        be specified by the 'sendemail.smtpserver' configuration
 135        option; the built-in default is `/usr/sbin/sendmail` or
 136        `/usr/lib/sendmail` if such program is available, or
 137        `localhost` otherwise.
 138
 139--smtp-server-port=<port>::
 140        Specifies a port different from the default port (SMTP
 141        servers typically listen to smtp port 25 and ssmtp port
 142        465). This can be set with 'sendemail.smtpserverport'.
 143
 144--smtp-ssl::
 145        Legacy alias for '--smtp-encryption ssl'.
 146
 147--smtp-user=<user>::
 148        Username for SMTP-AUTH. Default is the value of 'sendemail.smtpuser';
 149        if a username is not specified (with '--smtp-user' or 'sendemail.smtpuser'),
 150        then authentication is not attempted.
 151
 152
 153Automating
 154~~~~~~~~~~
 155
 156--cc-cmd=<command>::
 157        Specify a command to execute once per patch file which
 158        should generate patch file specific "Cc:" entries.
 159        Output of this command must be single email address per line.
 160        Default is the value of 'sendemail.cccmd' configuration value.
 161
 162--[no-]chain-reply-to=<identifier>::
 163        If this is set, each email will be sent as a reply to the previous
 164        email sent.  If disabled with "--no-chain-reply-to", all emails after
 165        the first will be sent as replies to the first email sent.  When using
 166        this, it is recommended that the first file given be an overview of the
 167        entire patch series. Default is the value of the 'sendemail.chainreplyto'
 168        configuration value; if that is unspecified, default to --chain-reply-to.
 169
 170--identity=<identity>::
 171        A configuration identity. When given, causes values in the
 172        'sendemail.<identity>' subsection to take precedence over
 173        values in the 'sendemail' section. The default identity is
 174        the value of 'sendemail.identity'.
 175
 176--[no-]signed-off-by-cc::
 177        If this is set, add emails found in Signed-off-by: or Cc: lines to the
 178        cc list. Default is the value of 'sendemail.signedoffbycc' configuration
 179        value; if that is unspecified, default to --signed-off-by-cc.
 180
 181--suppress-cc=<category>::
 182        Specify an additional category of recipients to suppress the
 183        auto-cc of:
 184+
 185--
 186- 'author' will avoid including the patch author
 187- 'self' will avoid including the sender
 188- 'cc' will avoid including anyone mentioned in Cc lines in the patch header
 189  except for self (use 'self' for that).
 190- 'ccbody' will avoid including anyone mentioned in Cc lines in the
 191  patch body (commit message) except for self (use 'self' for that).
 192- 'sob' will avoid including anyone mentioned in Signed-off-by lines except
 193   for self (use 'self' for that).
 194- 'cccmd' will avoid running the --cc-cmd.
 195- 'body' is equivalent to 'sob' + 'ccbody'
 196- 'all' will suppress all auto cc values.
 197--
 198+
 199Default is the value of 'sendemail.suppresscc' configuration value; if
 200that is unspecified, default to 'self' if --suppress-from is
 201specified, as well as 'body' if --no-signed-off-cc is specified.
 202
 203--[no-]suppress-from::
 204        If this is set, do not add the From: address to the cc: list.
 205        Default is the value of 'sendemail.suppressfrom' configuration
 206        value; if that is unspecified, default to --no-suppress-from.
 207
 208--[no-]thread::
 209        If this is set, the In-Reply-To header will be set on each email sent.
 210        If disabled with "--no-thread", no emails will have the In-Reply-To
 211        header set. Default is the value of the 'sendemail.thread' configuration
 212        value; if that is unspecified, default to --thread.
 213
 214
 215Administering
 216~~~~~~~~~~~~~
 217
 218--confirm=<mode>::
 219        Confirm just before sending:
 220+
 221--
 222- 'always' will always confirm before sending
 223- 'never' will never confirm before sending
 224- 'cc' will confirm before sending when send-email has automatically
 225  added addresses from the patch to the Cc list
 226- 'compose' will confirm before sending the first message when using --compose.
 227- 'auto' is equivalent to 'cc' + 'compose'
 228--
 229+
 230Default is the value of 'sendemail.confirm' configuration value; if that
 231is unspecified, default to 'auto' unless any of the suppress options
 232have been specified, in which case default to 'compose'.
 233
 234--dry-run::
 235        Do everything except actually send the emails.
 236
 237--quiet::
 238        Make git-send-email less verbose.  One line per email should be
 239        all that is output.
 240
 241--[no-]validate::
 242        Perform sanity checks on patches.
 243        Currently, validation means the following:
 244+
 245--
 246                *       Warn of patches that contain lines longer than 998 characters; this
 247                        is due to SMTP limits as described by http://www.ietf.org/rfc/rfc2821.txt.
 248--
 249+
 250Default is the value of 'sendemail.validate'; if this is not set,
 251default to '--validate'.
 252
 253--[no-]format-patch::
 254        When an argument may be understood either as a reference or as a file name,
 255        choose to understand it as a format-patch argument ('--format-patch')
 256        or as a file name ('--no-format-patch'). By default, when such a conflict
 257        occurs, git send-email will fail.
 258
 259
 260CONFIGURATION
 261-------------
 262
 263sendemail.aliasesfile::
 264        To avoid typing long email addresses, point this to one or more
 265        email aliases files.  You must also supply 'sendemail.aliasfiletype'.
 266
 267sendemail.aliasfiletype::
 268        Format of the file(s) specified in sendemail.aliasesfile. Must be
 269        one of 'mutt', 'mailrc', 'pine', 'elm', or 'gnus'.
 270
 271sendemail.multiedit::
 272        If true (default), a single editor instance will be spawned to edit
 273        files you have to edit (patches when '--annotate' is used, and the
 274        summary when '--compose' is used). If false, files will be edited one
 275        after the other, spawning a new editor each time.
 276
 277sendemail.confirm::
 278        Sets the default for whether to confirm before sending. Must be
 279        one of 'always', 'never', 'cc', 'compose', or 'auto'. See '--confirm'
 280        in the previous section for the meaning of these values.
 281
 282
 283Author
 284------
 285Written by Ryan Anderson <ryan@michonline.com>
 286
 287git-send-email is originally based upon
 288send_lots_of_email.pl by Greg Kroah-Hartman.
 289
 290
 291Documentation
 292--------------
 293Documentation by Ryan Anderson
 294
 295
 296GIT
 297---
 298Part of the linkgit:git[1] suite