Teach git-describe --exact-match to avoid expensive tag searches
[git.git] / Documentation / git-send-email.txt
blob336d797e80f5d2cc21b633588b3a3461a991ca71
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]
15 DESCRIPTION
16 -----------
17 Takes the patches given on the command line and emails them out.
19 The header of the email is configurable by command line options.  If not
20 specified on the command line, the user will be prompted with a ReadLine
21 enabled interface to provide the necessary information.
23 OPTIONS
24 -------
25 The options available are:
27 --bcc::
28         Specify a "Bcc:" value for each email.
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.
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 --chain-reply-to, --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.
49         Default is the value of the 'sendemail.chainreplyto' configuration
50         value; if that is unspecified, default to --chain-reply-to.
52 --compose::
53         Use $GIT_EDITOR, core.editor, $VISUAL, or $EDITOR to edit an
54         introductory message for the patch series.
56 --from::
57         Specify the sender of the emails.  This will default to
58         the value GIT_COMMITTER_IDENT, as returned by "git-var -l".
59         The user will still be prompted to confirm this entry.
61 --in-reply-to::
62         Specify the contents of the first In-Reply-To header.
63         Subsequent emails will refer to the previous email
64         instead of this if --chain-reply-to is set (the default)
65         Only necessary if --compose is also set.  If --compose
66         is not set, this will be prompted for.
68 --signed-off-by-cc, --no-signed-off-by-cc::
69         If this is set, add emails found in Signed-off-by: or Cc: lines to the
70         cc list.
71         Default is the value of 'sendemail.signedoffcc' configuration value;
72         if that is unspecified, default to --signed-off-by-cc.
74 --quiet::
75         Make git-send-email less verbose.  One line per email should be
76         all that is output.
78 --identity::
79         A configuration identity. When given, causes values in the
80         'sendemail.<identity>' subsection to take precedence over
81         values in the 'sendemail' section. The default identity is
82         the value of 'sendemail.identity'.
84 --smtp-server::
85         If set, specifies the outgoing SMTP server to use (e.g.
86         `smtp.example.com` or a raw IP address).  Alternatively it can
87         specify a full pathname of a sendmail-like program instead;
88         the program must support the `-i` option.  Default value can
89         be specified by the 'sendemail.smtpserver' configuration
90         option; the built-in default is `/usr/sbin/sendmail` or
91         `/usr/lib/sendmail` if such program is available, or
92         `localhost` otherwise.
94 --smtp-server-port::
95         Specifies a port different from the default port (SMTP
96         servers typically listen to smtp port 25 and ssmtp port
97         465).
99 --smtp-user::
100         Username for SMTP-AUTH. In place of this option, the following
101         configuration variables can be specified:
104                 * sendemail.smtpuser
105                 * sendemail.<identity>.smtpuser (see sendemail.identity).
108 However, --smtp-user always overrides these variables.
110 If a username is not specified (with --smtp-user or a
111 configuration variable), then authentication is not attempted.
113 --smtp-pass::
114         Password for SMTP-AUTH. The argument is optional: If no
115         argument is specified, then the empty string is used as
116         the password.
118 In place of this option, the following configuration variables
119 can be specified:
122                 * sendemail.smtppass
123                 * sendemail.<identity>.smtppass (see sendemail.identity).
126 However, --smtp-pass always overrides these variables.
128 Furthermore, passwords need not be specified in configuration files
129 or on the command line. If a username has been specified (with
130 --smtp-user or a configuration variable), but no password has been
131 specified (with --smtp-pass or a configuration variable), then the
132 user is prompted for a password while the input is masked for privacy.
134 --smtp-ssl::
135         If set, connects to the SMTP server using SSL.
136         Default is the value of the 'sendemail.smtpssl' configuration value;
137         if that is unspecified, does not use SSL.
139 --subject::
140         Specify the initial subject of the email thread.
141         Only necessary if --compose is also set.  If --compose
142         is not set, this will be prompted for.
144 --suppress-from, --no-suppress-from::
145         If this is set, do not add the From: address to the cc: list.
146         Default is the value of 'sendemail.suppressfrom' configuration value;
147         if that is unspecified, default to --no-suppress-from.
149 --suppress-cc::
150         Specify an additional category of recipients to suppress the
151         auto-cc of.  'self' will avoid including the sender, 'author' will
152         avoid including the patch author, 'cc' will avoid including anyone
153         mentioned in Cc lines in the patch, 'sob' will avoid including
154         anyone mentioned in Signed-off-by lines, and 'cccmd' will avoid
155         running the --cc-cmd.  'all' will suppress all auto cc values.
156         Default is the value of 'sendemail.suppresscc' configuration value;
157         if that is unspecified, default to 'self' if --suppress-from is
158         specified, as well as 'sob' if --no-signed-off-cc is specified.
160 --thread, --no-thread::
161         If this is set, the In-Reply-To header will be set on each email sent.
162         If disabled with "--no-thread", no emails will have the In-Reply-To
163         header set.
164         Default is the value of the 'sendemail.thread' configuration value;
165         if that is unspecified, default to --thread.
167 --dry-run::
168         Do everything except actually send the emails.
170 --envelope-sender::
171         Specify the envelope sender used to send the emails.
172         This is useful if your default address is not the address that is
173         subscribed to a list. If you use the sendmail binary, you must have
174         suitable privileges for the -f parameter.
176 --to::
177         Specify the primary recipient of the emails generated.
178         Generally, this will be the upstream maintainer of the
179         project involved.
180         Default is the value of the 'sendemail.to' configuration value;
181         if that is unspecified, this will be prompted for.
183 The --to option must be repeated for each user you want on the to list.
186 CONFIGURATION
187 -------------
188 sendemail.identity::
189         The default configuration identity. When specified,
190         'sendemail.<identity>.<item>' will have higher precedence than
191         'sendemail.<item>'. This is useful to declare multiple SMTP
192         identities and to hoist sensitive authentication information
193         out of the repository and into the global configuration file.
195 sendemail.aliasesfile::
196         To avoid typing long email addresses, point this to one or more
197         email aliases files.  You must also supply 'sendemail.aliasfiletype'.
199 sendemail.aliasfiletype::
200         Format of the file(s) specified in sendemail.aliasesfile. Must be
201         one of 'mutt', 'mailrc', 'pine', or 'gnus'.
203 sendemail.to::
204         Email address (or alias) to always send to.
206 sendemail.cccmd::
207         Command to execute to generate per patch file specific "Cc:"s.
209 sendemail.bcc::
210         Email address (or alias) to always bcc.
212 sendemail.chainreplyto::
213         Boolean value specifying the default to the '--chain_reply_to'
214         parameter.
216 sendemail.smtpserver::
217         Default SMTP server to use.
219 sendemail.smtpuser::
220         Default SMTP-AUTH username.
222 sendemail.smtppass::
223         Default SMTP-AUTH password.
225 sendemail.smtpssl::
226         Boolean value specifying the default to the '--smtp-ssl' parameter.
228 Author
229 ------
230 Written by Ryan Anderson <ryan@michonline.com>
232 git-send-email is originally based upon
233 send_lots_of_email.pl by Greg Kroah-Hartman.
235 Documentation
236 --------------
237 Documentation by Ryan Anderson
241 Part of the linkgit:git[7] suite