6 git-send-email - Send a collection of patches as emails
11 'git send-email' [options] <file|directory|rev-list options>...
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.
30 Specify a "Bcc:" value for each email. Default is the value of
33 The --bcc option must be repeated for each user you want on the bcc list.
36 Specify a starting "Cc:" value for each email.
38 The --cc option must be repeated for each user you want on the cc list.
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.
46 Use $GIT_EDITOR, core.editor, $VISUAL, or $EDITOR to edit an
47 introductory message for the patch series.
49 When compose is in used, git send-email gets less interactive will use the
50 values of the headers you set there. If the body of the email (what you type
51 after the headers and a blank line) only contains blank (or GIT: prefixed)
52 lines, the summary won't be sent, but git-send-email will still use the
53 Headers values if you don't removed them.
55 If it wasn't able to see a header in the summary it will ask you about it
56 interactively after quitting your editor.
59 Specify the sender of the emails. This will default to
60 the value GIT_COMMITTER_IDENT, as returned by "git var -l".
61 The user will still be prompted to confirm this entry.
64 Specify the contents of the first In-Reply-To header.
65 Subsequent emails will refer to the previous email
66 instead of this if --chain-reply-to is set (the default)
67 Only necessary if --compose is also set. If --compose
68 is not set, this will be prompted for.
71 Specify the initial subject of the email thread.
72 Only necessary if --compose is also set. If --compose
73 is not set, this will be prompted for.
76 Specify the primary recipient of the emails generated. Generally, this
77 will be the upstream maintainer of the project involved. Default is the
78 value of the 'sendemail.to' configuration value; if that is unspecified,
79 this will be prompted for.
81 The --to option must be repeated for each user you want on the to list.
88 Specify the envelope sender used to send the emails.
89 This is useful if your default address is not the address that is
90 subscribed to a list. If you use the sendmail binary, you must have
91 suitable privileges for the -f parameter. Default is the value of
92 the 'sendemail.envelopesender' configuration variable; if that is
93 unspecified, choosing the envelope sender is left to your MTA.
96 Specify the encryption to use, either 'ssl' or 'tls'. Any other
97 value reverts to plain SMTP. Default is the value of
98 'sendemail.smtpencryption'.
101 Password for SMTP-AUTH. The argument is optional: If no
102 argument is specified, then the empty string is used as
103 the password. Default is the value of 'sendemail.smtppass',
104 however '--smtp-pass' always overrides this value.
106 Furthermore, passwords need not be specified in configuration files
107 or on the command line. If a username has been specified (with
108 '--smtp-user' or a 'sendemail.smtpuser'), but no password has been
109 specified (with '--smtp-pass' or 'sendemail.smtppass'), then the
110 user is prompted for a password while the input is masked for privacy.
113 If set, specifies the outgoing SMTP server to use (e.g.
114 `smtp.example.com` or a raw IP address). Alternatively it can
115 specify a full pathname of a sendmail-like program instead;
116 the program must support the `-i` option. Default value can
117 be specified by the 'sendemail.smtpserver' configuration
118 option; the built-in default is `/usr/sbin/sendmail` or
119 `/usr/lib/sendmail` if such program is available, or
120 `localhost` otherwise.
123 Specifies a port different from the default port (SMTP
124 servers typically listen to smtp port 25 and ssmtp port
125 465). This can be set with 'sendemail.smtpserverport'.
128 Legacy alias for '--smtp-encryption ssl'.
131 Username for SMTP-AUTH. Default is the value of 'sendemail.smtpuser';
132 if a username is not specified (with '--smtp-user' or 'sendemail.smtpuser'),
133 then authentication is not attempted.
140 Specify a command to execute once per patch file which
141 should generate patch file specific "Cc:" entries.
142 Output of this command must be single email address per line.
143 Default is the value of 'sendemail.cccmd' configuration value.
145 --[no-]chain-reply-to::
146 If this is set, each email will be sent as a reply to the previous
147 email sent. If disabled with "--no-chain-reply-to", all emails after
148 the first will be sent as replies to the first email sent. When using
149 this, it is recommended that the first file given be an overview of the
150 entire patch series. Default is the value of the 'sendemail.chainreplyto'
151 configuration value; if that is unspecified, default to --chain-reply-to.
154 A configuration identity. When given, causes values in the
155 'sendemail.<identity>' subsection to take precedence over
156 values in the 'sendemail' section. The default identity is
157 the value of 'sendemail.identity'.
159 --[no-]signed-off-by-cc::
160 If this is set, add emails found in Signed-off-by: or Cc: lines to the
161 cc list. Default is the value of 'sendemail.signedoffbycc' configuration
162 value; if that is unspecified, default to --signed-off-by-cc.
165 Specify an additional category of recipients to suppress the
166 auto-cc of. 'self' will avoid including the sender, 'author' will
167 avoid including the patch author, 'cc' will avoid including anyone
168 mentioned in Cc lines in the patch, 'sob' will avoid including
169 anyone mentioned in Signed-off-by lines, and 'cccmd' will avoid
170 running the --cc-cmd. 'all' will suppress all auto cc values.
171 Default is the value of 'sendemail.suppresscc' configuration value;
172 if that is unspecified, default to 'self' if --suppress-from is
173 specified, as well as 'sob' if --no-signed-off-cc is specified.
175 --[no-]suppress-from::
176 If this is set, do not add the From: address to the cc: list.
177 Default is the value of 'sendemail.suppressfrom' configuration
178 value; if that is unspecified, default to --no-suppress-from.
181 If this is set, the In-Reply-To header will be set on each email sent.
182 If disabled with "--no-thread", no emails will have the In-Reply-To
183 header set. Default is the value of the 'sendemail.thread' configuration
184 value; if that is unspecified, default to --thread.
191 Do everything except actually send the emails.
194 Make git-send-email less verbose. One line per email should be
198 Perform sanity checks on patches.
199 Currently, validation means the following:
201 --[no-]format-patch::
202 When an argument may be understood either as a reference or as a file name,
203 choose to understand it as a format-patch argument ('--format-patch')
204 or as a file name ('--no-format-patch'). By default, when such a conflict
205 occurs, git send-email will fail.
208 * Warn of patches that contain lines longer than 998 characters; this
209 is due to SMTP limits as described by http://www.ietf.org/rfc/rfc2821.txt.
212 Default is the value of 'sendemail.validate'; if this is not set,
213 default to '--validate'.
219 sendemail.aliasesfile::
220 To avoid typing long email addresses, point this to one or more
221 email aliases files. You must also supply 'sendemail.aliasfiletype'.
223 sendemail.aliasfiletype::
224 Format of the file(s) specified in sendemail.aliasesfile. Must be
225 one of 'mutt', 'mailrc', 'pine', or 'gnus'.
227 sendemail.multiedit::
228 If true (default), a single editor instance will be spawned to edit
229 files you have to edit (patches when '--annotate' is used, and the
230 summary when '--compose' is used). If false, files will be edited one
231 after the other, spawning a new editor each time.
236 Written by Ryan Anderson <ryan@michonline.com>
238 git-send-email is originally based upon
239 send_lots_of_email.pl by Greg Kroah-Hartman.
244 Documentation by Ryan Anderson
249 Part of the linkgit:git[1] suite