Merge commit 'refs/top-bases/t/forks/sort-by-age' into t/forks/sort-by-age
[git/repo.git] / Documentation / git-send-email.txt
blob82f505686e998d36b87bfe2c1a29031449fbdbc6
1 git-send-email(1)
2 =================
4 NAME
5 ----
6 git-send-email - Send a collection of patches as emails
9 SYNOPSIS
10 --------
11 'git send-email' [options] <file|directory> [... file|directory]
14 DESCRIPTION
15 -----------
16 Takes the patches given on the command line and emails them out.
18 The header of the email is configurable by command line options.  If not
19 specified on the command line, the user will be prompted with a ReadLine
20 enabled interface to provide the necessary information.
23 OPTIONS
24 -------
26 Composing
27 ~~~~~~~~~
29 --bcc::
30         Specify a "Bcc:" value for each email. Default is the value of
31         'sendemail.bcc'.
33 The --bcc option must be repeated for each user you want on the bcc list.
35 --cc::
36         Specify a starting "Cc:" value for each email.
38 The --cc option must be repeated for each user you want on the cc list.
40 --compose::
41         Use $GIT_EDITOR, core.editor, $VISUAL, or $EDITOR to edit an
42         introductory message for the patch series.
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.
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.
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.
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.
67 The --to option must be repeated for each user you want on the to list.
70 Sending
71 ~~~~~~~
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.
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'.
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.
92 Furthermore, passwords need not be specified in configuration files
93 or on the command line. If a username has been specified (with
94 '--smtp-user' or a 'sendemail.smtpuser'), but no password has been
95 specified (with '--smtp-pass' or 'sendemail.smtppass'), then the
96 user is prompted for a password while the input is masked for privacy.
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.
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'.
113 --smtp-ssl::
114         Legacy alias for '--smtp-encryption ssl'.
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.
122 Automating
123 ~~~~~~~~~~
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.
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.
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'.
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.
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.
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.
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.
173 Administering
174 ~~~~~~~~~~~~~
176 --dry-run::
177         Do everything except actually send the emails.
179 --quiet::
180         Make git-send-email less verbose.  One line per email should be
181         all that is output.
183 --[no-]validate::
184         Perform sanity checks on patches.
185         Currently, validation means the following:
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.
192 Default is the value of 'sendemail.validate'; if this is not set,
193 default to '--validate'.
196 CONFIGURATION
197 -------------
199 sendemail.aliasesfile::
200         To avoid typing long email addresses, point this to one or more
201         email aliases files.  You must also supply 'sendemail.aliasfiletype'.
203 sendemail.aliasfiletype::
204         Format of the file(s) specified in sendemail.aliasesfile. Must be
205         one of 'mutt', 'mailrc', 'pine', or 'gnus'.
208 Author
209 ------
210 Written by Ryan Anderson <ryan@michonline.com>
212 git-send-email is originally based upon
213 send_lots_of_email.pl by Greg Kroah-Hartman.
216 Documentation
217 --------------
218 Documentation by Ryan Anderson
223 Part of the linkgit:git[1] suite