]>
Commit | Line | Data |
---|---|---|
215a7ad1 JH |
1 | git-send-email(1) |
2 | ================= | |
479cec96 RA |
3 | |
4 | NAME | |
5 | ---- | |
215a7ad1 | 6 | git-send-email - Send a collection of patches as emails |
479cec96 RA |
7 | |
8 | ||
9 | SYNOPSIS | |
10 | -------- | |
5df9fcf6 | 11 | 'git send-email' [options] <file|directory|rev-list options>... |
479cec96 RA |
12 | |
13 | ||
479cec96 RA |
14 | DESCRIPTION |
15 | ----------- | |
16 | Takes the patches given on the command line and emails them out. | |
94af7c31 PB |
17 | Patches can be specified as files, directories (which will send all |
18 | files in the directory), or directly as a revision list. In the | |
19 | last case, any format accepted by linkgit:git-format-patch[1] can | |
20 | be passed to git send-email. | |
479cec96 RA |
21 | |
22 | The header of the email is configurable by command line options. If not | |
23 | specified on the command line, the user will be prompted with a ReadLine | |
24 | enabled interface to provide the necessary information. | |
25 | ||
c4ba87a6 TZ |
26 | There are two formats accepted for patch files: |
27 | ||
28 | 1. mbox format files | |
29 | + | |
30 | This is what linkgit:git-format-patch[1] generates. Most headers and MIME | |
31 | formatting are ignored. | |
32 | ||
33 | 2. The original format used by Greg Kroah-Hartman's 'send_lots_of_email.pl' | |
34 | script | |
35 | + | |
36 | This format expects the first line of the file to contain the "Cc:" value | |
37 | and the "Subject:" of the message as the second line. | |
38 | ||
917f3e73 | 39 | |
df8baa42 JF |
40 | OPTIONS |
41 | ------- | |
917f3e73 MW |
42 | |
43 | Composing | |
44 | ~~~~~~~~~ | |
479cec96 | 45 | |
4c0fe0af | 46 | --bcc=<address>:: |
3971a973 MW |
47 | Specify a "Bcc:" value for each email. Default is the value of |
48 | 'sendemail.bcc'. | |
5ef1f8d4 SV |
49 | + |
50 | The --bcc option must be repeated for each user you want on the bcc list. | |
79ee555b | 51 | |
4c0fe0af | 52 | --cc=<address>:: |
da140f8b | 53 | Specify a starting "Cc:" value for each email. |
bd7c6e7f | 54 | Default is the value of 'sendemail.cc'. |
5ef1f8d4 SV |
55 | + |
56 | The --cc option must be repeated for each user you want on the cc list. | |
79ee555b | 57 | |
8fd5bb7f PH |
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 | ||
2718435b | 63 | --compose:: |
ef0c2abf AR |
64 | Use $GIT_EDITOR, core.editor, $VISUAL, or $EDITOR to edit an |
65 | introductory message for the patch series. | |
beece9da | 66 | + |
01d38612 SB |
67 | When '--compose' is used, git send-email will use the From, Subject, and |
68 | In-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, | |
71 | and In-Reply-To headers will be used unless they are removed. | |
beece9da | 72 | + |
01d38612 | 73 | Missing From or In-Reply-To headers will be prompted for. |
479cec96 | 74 | |
4c0fe0af | 75 | --from=<address>:: |
479cec96 | 76 | Specify the sender of the emails. This will default to |
5354a56f | 77 | the value GIT_COMMITTER_IDENT, as returned by "git var -l". |
479cec96 RA |
78 | The user will still be prompted to confirm this entry. |
79 | ||
4c0fe0af | 80 | --in-reply-to=<identifier>:: |
479cec96 | 81 | Specify the contents of the first In-Reply-To header. |
928a5590 | 82 | Subsequent emails will refer to the previous email |
f9e320c3 RA |
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. | |
479cec96 | 86 | |
4c0fe0af | 87 | --subject=<string>:: |
917f3e73 MW |
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. | |
a6d62cdd | 91 | |
4c0fe0af | 92 | --to=<address>:: |
917f3e73 MW |
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 | + | |
98 | The --to option must be repeated for each user you want on the to list. | |
99 | ||
100 | ||
101 | Sending | |
102 | ~~~~~~~ | |
103 | ||
4c0fe0af | 104 | --envelope-sender=<address>:: |
917f3e73 MW |
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. | |
73811e66 | 111 | |
4c0fe0af | 112 | --smtp-encryption=<encryption>:: |
73811e66 MW |
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 | ||
4c0fe0af | 117 | --smtp-pass[=<password>]:: |
73811e66 MW |
118 | Password for SMTP-AUTH. The argument is optional: If no |
119 | argument is specified, then the empty string is used as | |
3971a973 MW |
120 | the password. Default is the value of 'sendemail.smtppass', |
121 | however '--smtp-pass' always overrides this value. | |
73811e66 MW |
122 | + |
123 | Furthermore, passwords need not be specified in configuration files | |
124 | or on the command line. If a username has been specified (with | |
3971a973 MW |
125 | '--smtp-user' or a 'sendemail.smtpuser'), but no password has been |
126 | specified (with '--smtp-pass' or 'sendemail.smtppass'), then the | |
73811e66 | 127 | user is prompted for a password while the input is masked for privacy. |
34cc60ce | 128 | |
4c0fe0af | 129 | --smtp-server=<host>:: |
928a5590 JA |
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; | |
6dcfa306 SV |
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. | |
a6d62cdd | 138 | |
4c0fe0af | 139 | --smtp-server-port=<port>:: |
44b2476a JH |
140 | Specifies a port different from the default port (SMTP |
141 | servers typically listen to smtp port 25 and ssmtp port | |
3971a973 | 142 | 465). This can be set with 'sendemail.smtpserverport'. |
44b2476a | 143 | |
73811e66 | 144 | --smtp-ssl:: |
3971a973 | 145 | Legacy alias for '--smtp-encryption ssl'. |
73811e66 | 146 | |
4c0fe0af | 147 | --smtp-user=<user>:: |
3971a973 MW |
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. | |
2363d746 | 151 | |
917f3e73 MW |
152 | |
153 | Automating | |
154 | ~~~~~~~~~~ | |
155 | ||
4c0fe0af | 156 | --cc-cmd=<command>:: |
917f3e73 MW |
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 | ||
4c0fe0af | 162 | --[no-]chain-reply-to=<identifier>:: |
917f3e73 MW |
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 | ||
4c0fe0af | 170 | --identity=<identity>:: |
917f3e73 MW |
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 | |
ddc3d4fe | 178 | cc list. Default is the value of 'sendemail.signedoffbycc' configuration |
917f3e73 | 179 | value; if that is unspecified, default to --signed-off-by-cc. |
2718435b | 180 | |
4c0fe0af | 181 | --suppress-cc=<category>:: |
65648283 | 182 | Specify an additional category of recipients to suppress the |
3531e270 JS |
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 | + | |
199 | Default is the value of 'sendemail.suppresscc' configuration value; if | |
200 | that is unspecified, default to 'self' if --suppress-from is | |
201 | specified, as well as 'body' if --no-signed-off-cc is specified. | |
65648283 | 202 | |
73811e66 MW |
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 | ||
7ecbad91 | 208 | --[no-]thread:: |
e46f7a0e | 209 | If this is set, the In-Reply-To header will be set on each email sent. |
5483c71d | 210 | If disabled with "--no-thread", no emails will have the In-Reply-To |
73811e66 MW |
211 | header set. Default is the value of the 'sendemail.thread' configuration |
212 | value; if that is unspecified, default to --thread. | |
e46f7a0e | 213 | |
917f3e73 MW |
214 | |
215 | Administering | |
216 | ~~~~~~~~~~~~~ | |
217 | ||
4c0fe0af | 218 | --confirm=<mode>:: |
c1f2aa45 JS |
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 | + | |
230 | Default is the value of 'sendemail.confirm' configuration value; if that | |
231 | is unspecified, default to 'auto' unless any of the suppress options | |
232 | have been specified, in which case default to 'compose'. | |
233 | ||
917f3e73 MW |
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. | |
03044a98 | 240 | |
dbf5e1e9 MW |
241 | --[no-]validate:: |
242 | Perform sanity checks on patches. | |
7ecbad91 MW |
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 | -- | |
dbf5e1e9 | 249 | + |
3971a973 MW |
250 | Default is the value of 'sendemail.validate'; if this is not set, |
251 | default to '--validate'. | |
7ecbad91 | 252 | |
f83b9ba2 AS |
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 | ||
a6d62cdd | 259 | |
fc095242 AK |
260 | CONFIGURATION |
261 | ------------- | |
917f3e73 | 262 | |
fc095242 AK |
263 | sendemail.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 | ||
267 | sendemail.aliasfiletype:: | |
268 | Format of the file(s) specified in sendemail.aliasesfile. Must be | |
7613ea35 | 269 | one of 'mutt', 'mailrc', 'pine', 'elm', or 'gnus'. |
fc095242 | 270 | |
8fd5bb7f PH |
271 | sendemail.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 | ||
c1f2aa45 JS |
277 | sendemail.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 | ||
917f3e73 | 282 | |
479cec96 RA |
283 | Author |
284 | ------ | |
285 | Written by Ryan Anderson <ryan@michonline.com> | |
286 | ||
215a7ad1 | 287 | git-send-email is originally based upon |
479cec96 RA |
288 | send_lots_of_email.pl by Greg Kroah-Hartman. |
289 | ||
917f3e73 | 290 | |
479cec96 RA |
291 | Documentation |
292 | -------------- | |
293 | Documentation by Ryan Anderson | |
294 | ||
917f3e73 | 295 | |
479cec96 RA |
296 | GIT |
297 | --- | |
9e1f0a85 | 298 | Part of the linkgit:git[1] suite |