test-path-utils: Fix off by one, found by valgrind
[git/vmiklos.git] / Documentation / git-send-email.txt
blob3c3e1b0e77abe171ac7531b8098ea2af7d6809dd
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::
44 --no-chain-reply-to::
45         If this is set, each email will be sent as a reply to the previous
46         email sent.  If disabled with "--no-chain-reply-to", all emails after
47         the first will be sent as replies to the first email sent.  When using
48         this, it is recommended that the first file given be an overview of the
49         entire patch series.
50         Default is the value of the 'sendemail.chainreplyto' configuration
51         value; if that is unspecified, default to --chain-reply-to.
53 --compose::
54         Use $GIT_EDITOR, core.editor, $VISUAL, or $EDITOR to edit an
55         introductory message for the patch series.
57 --from::
58         Specify the sender of the emails.  This will default to
59         the value GIT_COMMITTER_IDENT, as returned by "git var -l".
60         The user will still be prompted to confirm this entry.
62 --in-reply-to::
63         Specify the contents of the first In-Reply-To header.
64         Subsequent emails will refer to the previous email
65         instead of this if --chain-reply-to is set (the default)
66         Only necessary if --compose is also set.  If --compose
67         is not set, this will be prompted for.
69 --signed-off-by-cc::
70 --no-signed-off-by-cc::
71         If this is set, add emails found in Signed-off-by: or Cc: lines to the
72         cc list.
73         Default is the value of 'sendemail.signedoffcc' configuration value;
74         if that is unspecified, default to --signed-off-by-cc.
76 --quiet::
77         Make git-send-email less verbose.  One line per email should be
78         all that is output.
80 --identity::
81         A configuration identity. When given, causes values in the
82         'sendemail.<identity>' subsection to take precedence over
83         values in the 'sendemail' section. The default identity is
84         the value of 'sendemail.identity'.
86 --smtp-server::
87         If set, specifies the outgoing SMTP server to use (e.g.
88         `smtp.example.com` or a raw IP address).  Alternatively it can
89         specify a full pathname of a sendmail-like program instead;
90         the program must support the `-i` option.  Default value can
91         be specified by the 'sendemail.smtpserver' configuration
92         option; the built-in default is `/usr/sbin/sendmail` or
93         `/usr/lib/sendmail` if such program is available, or
94         `localhost` otherwise.
96 --smtp-server-port::
97         Specifies a port different from the default port (SMTP
98         servers typically listen to smtp port 25 and ssmtp port
99         465).
101 --smtp-user::
102         Username for SMTP-AUTH. In place of this option, the following
103         configuration variables can be specified:
106                 * sendemail.smtpuser
107                 * sendemail.<identity>.smtpuser (see sendemail.identity).
110 However, --smtp-user always overrides these variables.
112 If a username is not specified (with --smtp-user or a
113 configuration variable), then authentication is not attempted.
115 --smtp-pass::
116         Password for SMTP-AUTH. The argument is optional: If no
117         argument is specified, then the empty string is used as
118         the password.
120 In place of this option, the following configuration variables
121 can be specified:
124                 * sendemail.smtppass
125                 * sendemail.<identity>.smtppass (see sendemail.identity).
128 However, --smtp-pass always overrides these variables.
130 Furthermore, passwords need not be specified in configuration files
131 or on the command line. If a username has been specified (with
132 --smtp-user or a configuration variable), but no password has been
133 specified (with --smtp-pass or a configuration variable), then the
134 user is prompted for a password while the input is masked for privacy.
136 --smtp-encryption::
137         Specify the encryption to use, either 'ssl' or 'tls'.  Any other
138         value reverts to plain SMTP.  Default is the value of
139         'sendemail.smtpencryption'.
141 --smtp-ssl::
142         Legacy alias for '--smtp-encryption=ssl'.
144 --subject::
145         Specify the initial subject of the email thread.
146         Only necessary if --compose is also set.  If --compose
147         is not set, this will be prompted for.
149 --suppress-from::
150 --no-suppress-from::
151         If this is set, do not add the From: address to the cc: list.
152         Default is the value of 'sendemail.suppressfrom' configuration value;
153         if that is unspecified, default to --no-suppress-from.
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 --thread::
167 --no-thread::
168         If this is set, the In-Reply-To header will be set on each email sent.
169         If disabled with "--no-thread", no emails will have the In-Reply-To
170         header set.
171         Default is the value of the 'sendemail.thread' configuration value;
172         if that is unspecified, default to --thread.
174 --dry-run::
175         Do everything except actually send the emails.
177 --envelope-sender::
178         Specify the envelope sender used to send the emails.
179         This is useful if your default address is not the address that is
180         subscribed to a list. If you use the sendmail binary, you must have
181         suitable privileges for the -f parameter.
182         Default is the value of the 'sendemail.envelopesender' configuration
183         variable; if that is unspecified, choosing the envelope sender is left
184         to your MTA.
186 --to::
187         Specify the primary recipient of the emails generated.
188         Generally, this will be the upstream maintainer of the
189         project involved.
190         Default is the value of the 'sendemail.to' configuration value;
191         if that is unspecified, this will be prompted for.
193 The --to option must be repeated for each user you want on the to list.
196 CONFIGURATION
197 -------------
198 sendemail.identity::
199         The default configuration identity. When specified,
200         'sendemail.<identity>.<item>' will have higher precedence than
201         'sendemail.<item>'. This is useful to declare multiple SMTP
202         identities and to hoist sensitive authentication information
203         out of the repository and into the global configuration file.
205 sendemail.aliasesfile::
206         To avoid typing long email addresses, point this to one or more
207         email aliases files.  You must also supply 'sendemail.aliasfiletype'.
209 sendemail.aliasfiletype::
210         Format of the file(s) specified in sendemail.aliasesfile. Must be
211         one of 'mutt', 'mailrc', 'pine', or 'gnus'.
213 sendemail.to::
214         Email address (or alias) to always send to.
216 sendemail.cccmd::
217         Command to execute to generate per patch file specific "Cc:"s.
219 sendemail.bcc::
220         Email address (or alias) to always bcc.
222 sendemail.chainreplyto::
223         Boolean value specifying the default to the '--chain_reply_to'
224         parameter.
226 sendemail.smtpserver::
227         Default SMTP server to use.
229 sendemail.smtpserverport::
230         Default SMTP server port to use.
232 sendemail.smtpuser::
233         Default SMTP-AUTH username.
235 sendemail.smtppass::
236         Default SMTP-AUTH password.
238 sendemail.smtpencryption::
239         Default encryption method.  Use 'ssl' for SSL (and specify an
240         appropriate port), or 'tls' for TLS.  Takes precedence over
241         'smtpssl' if both are specified.
243 sendemail.smtpssl::
244         Legacy boolean that sets 'smtpencryption=ssl' if enabled.
246 Author
247 ------
248 Written by Ryan Anderson <ryan@michonline.com>
250 git-send-email is originally based upon
251 send_lots_of_email.pl by Greg Kroah-Hartman.
253 Documentation
254 --------------
255 Documentation by Ryan Anderson
259 Part of the linkgit:git[1] suite