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. Default is the value of
28 'sendemail.bcc'.
29 +
30 The --bcc option must be repeated for each user you want on the bcc list.
32 --cc::
33 Specify a starting "Cc:" value for each email.
34 +
35 The --cc option must be repeated for each user you want on the cc list.
37 --cc-cmd::
38 Specify a command to execute once per patch file which
39 should generate patch file specific "Cc:" entries.
40 Output of this command must be single email address per line.
41 Default is the value of 'sendemail.cccmd' configuration value.
43 --[no-]chain-reply-to::
44 If this is set, each email will be sent as a reply to the previous
45 email sent. If disabled with "--no-chain-reply-to", all emails after
46 the first will be sent as replies to the first email sent. When using
47 this, it is recommended that the first file given be an overview of the
48 entire patch series. Default is the value of the 'sendemail.chainreplyto'
49 configuration value; if that is unspecified, default to --chain-reply-to.
51 --compose::
52 Use $GIT_EDITOR, core.editor, $VISUAL, or $EDITOR to edit an
53 introductory message for the patch series.
55 --dry-run::
56 Do everything except actually send the emails.
58 --envelope-sender::
59 Specify the envelope sender used to send the emails.
60 This is useful if your default address is not the address that is
61 subscribed to a list. If you use the sendmail binary, you must have
62 suitable privileges for the -f parameter. Default is the value of
63 the 'sendemail.envelopesender' configuration variable; if that is
64 unspecified, choosing the envelope sender is left to your MTA.
66 --from::
67 Specify the sender of the emails. This will default to
68 the value GIT_COMMITTER_IDENT, as returned by "git var -l".
69 The user will still be prompted to confirm this entry.
71 --identity::
72 A configuration identity. When given, causes values in the
73 'sendemail.<identity>' subsection to take precedence over
74 values in the 'sendemail' section. The default identity is
75 the value of 'sendemail.identity'.
77 --in-reply-to::
78 Specify the contents of the first In-Reply-To header.
79 Subsequent emails will refer to the previous email
80 instead of this if --chain-reply-to is set (the default)
81 Only necessary if --compose is also set. If --compose
82 is not set, this will be prompted for.
84 --quiet::
85 Make git-send-email less verbose. One line per email should be
86 all that is output.
88 --[no-]signed-off-by-cc::
89 If this is set, add emails found in Signed-off-by: or Cc: lines to the
90 cc list. Default is the value of 'sendemail.signedoffcc' configuration
91 value; if that is unspecified, default to --signed-off-by-cc.
93 --smtp-encryption::
94 Specify the encryption to use, either 'ssl' or 'tls'. Any other
95 value reverts to plain SMTP. Default is the value of
96 'sendemail.smtpencryption'.
98 --smtp-pass::
99 Password for SMTP-AUTH. The argument is optional: If no
100 argument is specified, then the empty string is used as
101 the password. Default is the value of 'sendemail.smtppass',
102 however '--smtp-pass' always overrides this value.
103 +
104 Furthermore, passwords need not be specified in configuration files
105 or on the command line. If a username has been specified (with
106 '--smtp-user' or a 'sendemail.smtpuser'), but no password has been
107 specified (with '--smtp-pass' or 'sendemail.smtppass'), then the
108 user is prompted for a password while the input is masked for privacy.
110 --smtp-server::
111 If set, specifies the outgoing SMTP server to use (e.g.
112 `smtp.example.com` or a raw IP address). Alternatively it can
113 specify a full pathname of a sendmail-like program instead;
114 the program must support the `-i` option. Default value can
115 be specified by the 'sendemail.smtpserver' configuration
116 option; the built-in default is `/usr/sbin/sendmail` or
117 `/usr/lib/sendmail` if such program is available, or
118 `localhost` otherwise.
120 --smtp-server-port::
121 Specifies a port different from the default port (SMTP
122 servers typically listen to smtp port 25 and ssmtp port
123 465). This can be set with 'sendemail.smtpserverport'.
125 --smtp-ssl::
126 Legacy alias for '--smtp-encryption ssl'.
128 --smtp-user::
129 Username for SMTP-AUTH. Default is the value of 'sendemail.smtpuser';
130 if a username is not specified (with '--smtp-user' or 'sendemail.smtpuser'),
131 then authentication is not attempted.
133 --subject::
134 Specify the initial subject of the email thread.
135 Only necessary if --compose is also set. If --compose
136 is not set, this will be prompted for.
138 --suppress-cc::
139 Specify an additional category of recipients to suppress the
140 auto-cc of. 'self' will avoid including the sender, 'author' will
141 avoid including the patch author, 'cc' will avoid including anyone
142 mentioned in Cc lines in the patch, 'sob' will avoid including
143 anyone mentioned in Signed-off-by lines, and 'cccmd' will avoid
144 running the --cc-cmd. 'all' will suppress all auto cc values.
145 Default is the value of 'sendemail.suppresscc' configuration value;
146 if that is unspecified, default to 'self' if --suppress-from is
147 specified, as well as 'sob' if --no-signed-off-cc is specified.
149 --[no-]suppress-from::
150 If this is set, do not add the From: address to the cc: list.
151 Default is the value of 'sendemail.suppressfrom' configuration
152 value; if that is unspecified, default to --no-suppress-from.
154 --[no-]thread::
155 If this is set, the In-Reply-To header will be set on each email sent.
156 If disabled with "--no-thread", no emails will have the In-Reply-To
157 header set. Default is the value of the 'sendemail.thread' configuration
158 value; if that is unspecified, default to --thread.
160 --to::
161 Specify the primary recipient of the emails generated. Generally, this
162 will be the upstream maintainer of the project involved. Default is the
163 value of the 'sendemail.to' configuration value; if that is unspecified,
164 this will be prompted for.
165 +
166 The --to option must be repeated for each user you want on the to list.
168 --[no-]validate::
169 Perform sanity checks on patches.
170 Currently, validation means the following:
171 +
172 --
173 * Warn of patches that contain lines longer than 998 characters; this
174 is due to SMTP limits as described by http://www.ietf.org/rfc/rfc2821.txt.
175 --
176 +
177 Default is the value of 'sendemail.validate'; if this is not set,
178 default to '--validate'.
181 CONFIGURATION
182 -------------
183 sendemail.aliasesfile::
184 To avoid typing long email addresses, point this to one or more
185 email aliases files. You must also supply 'sendemail.aliasfiletype'.
187 sendemail.aliasfiletype::
188 Format of the file(s) specified in sendemail.aliasesfile. Must be
189 one of 'mutt', 'mailrc', 'pine', or 'gnus'.
191 Author
192 ------
193 Written by Ryan Anderson <ryan@michonline.com>
195 git-send-email is originally based upon
196 send_lots_of_email.pl by Greg Kroah-Hartman.
198 Documentation
199 --------------
200 Documentation by Ryan Anderson
202 GIT
203 ---
204 Part of the linkgit:git[1] suite