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