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