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.
22 OPTIONS
23 -------
24 The options available are:
26 --bcc::
27 Specify a "Bcc:" value for each email.
28 +
29 The --bcc option must be repeated for each user you want on the bcc list.
31 --cc::
32 Specify a starting "Cc:" value for each email.
33 +
34 The --cc option must be repeated for each user you want on the cc list.
36 --cc-cmd::
37 Specify a command to execute once per patch file which
38 should generate patch file specific "Cc:" entries.
39 Output of this command must be single email address per line.
40 Default is the value of 'sendemail.cccmd' configuration value.
42 --[no-]chain-reply-to::
43 If this is set, each email will be sent as a reply to the previous
44 email sent. If disabled with "--no-chain-reply-to", all emails after
45 the first will be sent as replies to the first email sent. When using
46 this, it is recommended that the first file given be an overview of the
47 entire patch series. Default is the value of the 'sendemail.chainreplyto'
48 configuration value; if that is unspecified, default to --chain-reply-to.
50 --compose::
51 Use $GIT_EDITOR, core.editor, $VISUAL, or $EDITOR to edit an
52 introductory message for the patch series.
54 --dry-run::
55 Do everything except actually send the emails.
57 --envelope-sender::
58 Specify the envelope sender used to send the emails.
59 This is useful if your default address is not the address that is
60 subscribed to a list. If you use the sendmail binary, you must have
61 suitable privileges for the -f parameter. Default is the value of
62 the 'sendemail.envelopesender' configuration variable; if that is
63 unspecified, choosing the envelope sender is left to your MTA.
65 --from::
66 Specify the sender of the emails. This will default to
67 the value GIT_COMMITTER_IDENT, as returned by "git var -l".
68 The user will still be prompted to confirm this entry.
70 --identity::
71 A configuration identity. When given, causes values in the
72 'sendemail.<identity>' subsection to take precedence over
73 values in the 'sendemail' section. The default identity is
74 the value of 'sendemail.identity'.
76 --in-reply-to::
77 Specify the contents of the first In-Reply-To header.
78 Subsequent emails will refer to the previous email
79 instead of this if --chain-reply-to is set (the default)
80 Only necessary if --compose is also set. If --compose
81 is not set, this will be prompted for.
83 --quiet::
84 Make git-send-email less verbose. One line per email should be
85 all that is output.
87 --[no-]signed-off-by-cc::
88 If this is set, add emails found in Signed-off-by: or Cc: lines to the
89 cc list. Default is the value of 'sendemail.signedoffcc' configuration
90 value; if that is unspecified, default to --signed-off-by-cc.
92 --smtp-encryption::
93 Specify the encryption to use, either 'ssl' or 'tls'. Any other
94 value reverts to plain SMTP. Default is the value of
95 'sendemail.smtpencryption'.
97 --smtp-pass::
98 Password for SMTP-AUTH. The argument is optional: If no
99 argument is specified, then the empty string is used as
100 the password.
101 +
102 In place of this option, the following configuration variables
103 can be specified:
104 +
105 --
106 * sendemail.smtppass
107 * sendemail.<identity>.smtppass (see sendemail.identity).
108 --
109 +
110 However, --smtp-pass always overrides these variables.
111 +
112 Furthermore, passwords need not be specified in configuration files
113 or on the command line. If a username has been specified (with
114 --smtp-user or a configuration variable), but no password has been
115 specified (with --smtp-pass or a configuration variable), then the
116 user is prompted for a password while the input is masked for privacy.
118 --smtp-server::
119 If set, specifies the outgoing SMTP server to use (e.g.
120 `smtp.example.com` or a raw IP address). Alternatively it can
121 specify a full pathname of a sendmail-like program instead;
122 the program must support the `-i` option. Default value can
123 be specified by the 'sendemail.smtpserver' configuration
124 option; the built-in default is `/usr/sbin/sendmail` or
125 `/usr/lib/sendmail` if such program is available, or
126 `localhost` otherwise.
128 --smtp-server-port::
129 Specifies a port different from the default port (SMTP
130 servers typically listen to smtp port 25 and ssmtp port
131 465).
133 --smtp-ssl::
134 Legacy alias for '--smtp-encryption=ssl'.
136 --smtp-user::
137 Username for SMTP-AUTH. In place of this option, the following
138 configuration variables can be specified:
139 +
140 --
141 * sendemail.smtpuser
142 * sendemail.<identity>.smtpuser (see sendemail.identity).
143 --
144 +
145 However, --smtp-user always overrides these variables.
146 +
147 If a username is not specified (with --smtp-user or a
148 configuration variable), then authentication is not attempted.
150 --subject::
151 Specify the initial subject of the email thread.
152 Only necessary if --compose is also set. If --compose
153 is not set, this will be prompted for.
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.
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.
171 --[no-]thread::
172 If this is set, the In-Reply-To header will be set on each email sent.
173 If disabled with "--no-thread", no emails will have the In-Reply-To
174 header set. Default is the value of the 'sendemail.thread' configuration
175 value; if that is unspecified, default to --thread.
177 --to::
178 Specify the primary recipient of the emails generated. Generally, this
179 will be the upstream maintainer of the project involved. Default is the
180 value of the 'sendemail.to' configuration value; if that is unspecified,
181 this will be prompted for.
182 +
183 The --to option must be repeated for each user you want on the to list.
185 --no-validate::
186 Don't perform any sanity checks on patches.
187 Currently, validation means the following:
188 +
189 --
190 * Warn of patches that contain lines longer than 998 characters; this
191 is due to SMTP limits as described by http://www.ietf.org/rfc/rfc2821.txt.
192 --
195 CONFIGURATION
196 -------------
197 sendemail.identity::
198 The default configuration identity. When specified,
199 'sendemail.<identity>.<item>' will have higher precedence than
200 'sendemail.<item>'. This is useful to declare multiple SMTP
201 identities and to hoist sensitive authentication information
202 out of the repository and into the global configuration file.
204 sendemail.aliasesfile::
205 To avoid typing long email addresses, point this to one or more
206 email aliases files. You must also supply 'sendemail.aliasfiletype'.
208 sendemail.aliasfiletype::
209 Format of the file(s) specified in sendemail.aliasesfile. Must be
210 one of 'mutt', 'mailrc', 'pine', or 'gnus'.
212 sendemail.to::
213 Email address (or alias) to always send to.
215 sendemail.cccmd::
216 Command to execute to generate per patch file specific "Cc:"s.
218 sendemail.bcc::
219 Email address (or alias) to always bcc.
221 sendemail.chainreplyto::
222 Boolean value specifying the default to the '--chain_reply_to'
223 parameter.
225 sendemail.smtpserver::
226 Default SMTP server to use.
228 sendemail.smtpserverport::
229 Default SMTP server port to use.
231 sendemail.smtpuser::
232 Default SMTP-AUTH username.
234 sendemail.smtppass::
235 Default SMTP-AUTH password.
237 sendemail.smtpencryption::
238 Default encryption method. Use 'ssl' for SSL (and specify an
239 appropriate port), or 'tls' for TLS. Takes precedence over
240 'smtpssl' if both are specified.
242 sendemail.smtpssl::
243 Legacy boolean that sets 'smtpencryption=ssl' if enabled.
245 Author
246 ------
247 Written by Ryan Anderson <ryan@michonline.com>
249 git-send-email is originally based upon
250 send_lots_of_email.pl by Greg Kroah-Hartman.
252 Documentation
253 --------------
254 Documentation by Ryan Anderson
256 GIT
257 ---
258 Part of the linkgit:git[1] suite