]> git.ipfire.org Git - thirdparty/git.git/blame - Documentation/git-send-email.txt
tests: fix "export var=val"
[thirdparty/git.git] / Documentation / git-send-email.txt
CommitLineData
215a7ad1
JH
1git-send-email(1)
2=================
479cec96
RA
3
4NAME
5----
215a7ad1 6git-send-email - Send a collection of patches as emails
479cec96
RA
7
8
9SYNOPSIS
10--------
5df9fcf6 11'git send-email' [options] <file|directory|rev-list options>...
479cec96
RA
12
13
479cec96
RA
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
917f3e73 22
df8baa42
JF
23OPTIONS
24-------
917f3e73
MW
25
26Composing
27~~~~~~~~~
479cec96 28
79ee555b 29--bcc::
3971a973
MW
30 Specify a "Bcc:" value for each email. Default is the value of
31 'sendemail.bcc'.
5ef1f8d4
SV
32+
33The --bcc option must be repeated for each user you want on the bcc list.
79ee555b 34
da140f8b
RA
35--cc::
36 Specify a starting "Cc:" value for each email.
bd7c6e7f 37 Default is the value of 'sendemail.cc'.
5ef1f8d4
SV
38+
39The --cc option must be repeated for each user you want on the cc list.
79ee555b 40
8fd5bb7f
PH
41--annotate::
42 Review each patch you're about to send in an editor. The setting
43 'sendemail.multiedit' defines if this will spawn one editor per patch
44 or one for all of them at once.
45
2718435b 46--compose::
ef0c2abf
AR
47 Use $GIT_EDITOR, core.editor, $VISUAL, or $EDITOR to edit an
48 introductory message for the patch series.
beece9da 49+
51ea4406 50When '--compose' is used, git send-email gets less interactive will use the
beece9da
PH
51values of the headers you set there. If the body of the email (what you type
52after the headers and a blank line) only contains blank (or GIT: prefixed)
53lines, the summary won't be sent, but git-send-email will still use the
54Headers values if you don't removed them.
55+
56If it wasn't able to see a header in the summary it will ask you about it
57interactively after quitting your editor.
479cec96 58
df8baa42 59--from::
479cec96 60 Specify the sender of the emails. This will default to
5354a56f 61 the value GIT_COMMITTER_IDENT, as returned by "git var -l".
479cec96
RA
62 The user will still be prompted to confirm this entry.
63
df8baa42 64--in-reply-to::
479cec96 65 Specify the contents of the first In-Reply-To header.
928a5590 66 Subsequent emails will refer to the previous email
f9e320c3
RA
67 instead of this if --chain-reply-to is set (the default)
68 Only necessary if --compose is also set. If --compose
69 is not set, this will be prompted for.
479cec96 70
917f3e73
MW
71--subject::
72 Specify the initial subject of the email thread.
73 Only necessary if --compose is also set. If --compose
74 is not set, this will be prompted for.
a6d62cdd 75
917f3e73
MW
76--to::
77 Specify the primary recipient of the emails generated. Generally, this
78 will be the upstream maintainer of the project involved. Default is the
79 value of the 'sendemail.to' configuration value; if that is unspecified,
80 this will be prompted for.
81+
82The --to option must be repeated for each user you want on the to list.
83
84
85Sending
86~~~~~~~
87
88--envelope-sender::
89 Specify the envelope sender used to send the emails.
90 This is useful if your default address is not the address that is
91 subscribed to a list. If you use the sendmail binary, you must have
92 suitable privileges for the -f parameter. Default is the value of
93 the 'sendemail.envelopesender' configuration variable; if that is
94 unspecified, choosing the envelope sender is left to your MTA.
73811e66
MW
95
96--smtp-encryption::
97 Specify the encryption to use, either 'ssl' or 'tls'. Any other
98 value reverts to plain SMTP. Default is the value of
99 'sendemail.smtpencryption'.
100
101--smtp-pass::
102 Password for SMTP-AUTH. The argument is optional: If no
103 argument is specified, then the empty string is used as
3971a973
MW
104 the password. Default is the value of 'sendemail.smtppass',
105 however '--smtp-pass' always overrides this value.
73811e66
MW
106+
107Furthermore, passwords need not be specified in configuration files
108or on the command line. If a username has been specified (with
3971a973
MW
109'--smtp-user' or a 'sendemail.smtpuser'), but no password has been
110specified (with '--smtp-pass' or 'sendemail.smtppass'), then the
73811e66 111user is prompted for a password while the input is masked for privacy.
34cc60ce 112
df8baa42 113--smtp-server::
928a5590
JA
114 If set, specifies the outgoing SMTP server to use (e.g.
115 `smtp.example.com` or a raw IP address). Alternatively it can
116 specify a full pathname of a sendmail-like program instead;
6dcfa306
SV
117 the program must support the `-i` option. Default value can
118 be specified by the 'sendemail.smtpserver' configuration
119 option; the built-in default is `/usr/sbin/sendmail` or
120 `/usr/lib/sendmail` if such program is available, or
121 `localhost` otherwise.
a6d62cdd 122
44b2476a
JH
123--smtp-server-port::
124 Specifies a port different from the default port (SMTP
125 servers typically listen to smtp port 25 and ssmtp port
3971a973 126 465). This can be set with 'sendemail.smtpserverport'.
44b2476a 127
73811e66 128--smtp-ssl::
3971a973 129 Legacy alias for '--smtp-encryption ssl'.
73811e66 130
2363d746 131--smtp-user::
3971a973
MW
132 Username for SMTP-AUTH. Default is the value of 'sendemail.smtpuser';
133 if a username is not specified (with '--smtp-user' or 'sendemail.smtpuser'),
134 then authentication is not attempted.
2363d746 135
917f3e73
MW
136
137Automating
138~~~~~~~~~~
139
140--cc-cmd::
141 Specify a command to execute once per patch file which
142 should generate patch file specific "Cc:" entries.
143 Output of this command must be single email address per line.
144 Default is the value of 'sendemail.cccmd' configuration value.
145
146--[no-]chain-reply-to::
147 If this is set, each email will be sent as a reply to the previous
148 email sent. If disabled with "--no-chain-reply-to", all emails after
149 the first will be sent as replies to the first email sent. When using
150 this, it is recommended that the first file given be an overview of the
151 entire patch series. Default is the value of the 'sendemail.chainreplyto'
152 configuration value; if that is unspecified, default to --chain-reply-to.
153
154--identity::
155 A configuration identity. When given, causes values in the
156 'sendemail.<identity>' subsection to take precedence over
157 values in the 'sendemail' section. The default identity is
158 the value of 'sendemail.identity'.
159
160--[no-]signed-off-by-cc::
161 If this is set, add emails found in Signed-off-by: or Cc: lines to the
ddc3d4fe 162 cc list. Default is the value of 'sendemail.signedoffbycc' configuration
917f3e73 163 value; if that is unspecified, default to --signed-off-by-cc.
2718435b 164
65648283
DB
165--suppress-cc::
166 Specify an additional category of recipients to suppress the
167 auto-cc of. 'self' will avoid including the sender, 'author' will
168 avoid including the patch author, 'cc' will avoid including anyone
169 mentioned in Cc lines in the patch, 'sob' will avoid including
170 anyone mentioned in Signed-off-by lines, and 'cccmd' will avoid
171 running the --cc-cmd. 'all' will suppress all auto cc values.
172 Default is the value of 'sendemail.suppresscc' configuration value;
173 if that is unspecified, default to 'self' if --suppress-from is
174 specified, as well as 'sob' if --no-signed-off-cc is specified.
175
73811e66
MW
176--[no-]suppress-from::
177 If this is set, do not add the From: address to the cc: list.
178 Default is the value of 'sendemail.suppressfrom' configuration
179 value; if that is unspecified, default to --no-suppress-from.
180
7ecbad91 181--[no-]thread::
e46f7a0e 182 If this is set, the In-Reply-To header will be set on each email sent.
5483c71d 183 If disabled with "--no-thread", no emails will have the In-Reply-To
73811e66
MW
184 header set. Default is the value of the 'sendemail.thread' configuration
185 value; if that is unspecified, default to --thread.
e46f7a0e 186
917f3e73
MW
187
188Administering
189~~~~~~~~~~~~~
190
191--dry-run::
192 Do everything except actually send the emails.
193
194--quiet::
195 Make git-send-email less verbose. One line per email should be
196 all that is output.
03044a98 197
dbf5e1e9
MW
198--[no-]validate::
199 Perform sanity checks on patches.
7ecbad91
MW
200 Currently, validation means the following:
201+
202--
203 * Warn of patches that contain lines longer than 998 characters; this
204 is due to SMTP limits as described by http://www.ietf.org/rfc/rfc2821.txt.
205--
dbf5e1e9 206+
3971a973
MW
207Default is the value of 'sendemail.validate'; if this is not set,
208default to '--validate'.
7ecbad91 209
f83b9ba2
AS
210--[no-]format-patch::
211 When an argument may be understood either as a reference or as a file name,
212 choose to understand it as a format-patch argument ('--format-patch')
213 or as a file name ('--no-format-patch'). By default, when such a conflict
214 occurs, git send-email will fail.
215
a6d62cdd 216
fc095242
AK
217CONFIGURATION
218-------------
917f3e73 219
fc095242
AK
220sendemail.aliasesfile::
221 To avoid typing long email addresses, point this to one or more
222 email aliases files. You must also supply 'sendemail.aliasfiletype'.
223
224sendemail.aliasfiletype::
225 Format of the file(s) specified in sendemail.aliasesfile. Must be
226 one of 'mutt', 'mailrc', 'pine', or 'gnus'.
227
8fd5bb7f
PH
228sendemail.multiedit::
229 If true (default), a single editor instance will be spawned to edit
230 files you have to edit (patches when '--annotate' is used, and the
231 summary when '--compose' is used). If false, files will be edited one
232 after the other, spawning a new editor each time.
233
917f3e73 234
479cec96
RA
235Author
236------
237Written by Ryan Anderson <ryan@michonline.com>
238
215a7ad1 239git-send-email is originally based upon
479cec96
RA
240send_lots_of_email.pl by Greg Kroah-Hartman.
241
917f3e73 242
479cec96
RA
243Documentation
244--------------
245Documentation by Ryan Anderson
246
917f3e73 247
479cec96
RA
248GIT
249---
9e1f0a85 250Part of the linkgit:git[1] suite