Move parse-options's skip_prefix() to git-compat-util.h
[git/gitweb.git] / Documentation / git-send-email.txt
blob251d661afd9fc93b556e2673b202523dd30383c6
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-ssl::
137         If set, connects to the SMTP server using SSL.
138         Default is the value of the 'sendemail.smtpssl' configuration value;
139         if that is unspecified, does not use SSL.
141 --subject::
142         Specify the initial subject of the email thread.
143         Only necessary if --compose is also set.  If --compose
144         is not set, this will be prompted for.
146 --suppress-from::
147 --no-suppress-from::
148         If this is set, do not add the From: address to the cc: list.
149         Default is the value of 'sendemail.suppressfrom' configuration value;
150         if that is unspecified, default to --no-suppress-from.
152 --suppress-cc::
153         Specify an additional category of recipients to suppress the
154         auto-cc of.  'self' will avoid including the sender, 'author' will
155         avoid including the patch author, 'cc' will avoid including anyone
156         mentioned in Cc lines in the patch, 'sob' will avoid including
157         anyone mentioned in Signed-off-by lines, and 'cccmd' will avoid
158         running the --cc-cmd.  'all' will suppress all auto cc values.
159         Default is the value of 'sendemail.suppresscc' configuration value;
160         if that is unspecified, default to 'self' if --suppress-from is
161         specified, as well as 'sob' if --no-signed-off-cc is specified.
163 --thread::
164 --no-thread::
165         If this is set, the In-Reply-To header will be set on each email sent.
166         If disabled with "--no-thread", no emails will have the In-Reply-To
167         header set.
168         Default is the value of the 'sendemail.thread' configuration value;
169         if that is unspecified, default to --thread.
171 --dry-run::
172         Do everything except actually send the emails.
174 --envelope-sender::
175         Specify the envelope sender used to send the emails.
176         This is useful if your default address is not the address that is
177         subscribed to a list. If you use the sendmail binary, you must have
178         suitable privileges for the -f parameter.
180 --to::
181         Specify the primary recipient of the emails generated.
182         Generally, this will be the upstream maintainer of the
183         project involved.
184         Default is the value of the 'sendemail.to' configuration value;
185         if that is unspecified, this will be prompted for.
187 The --to option must be repeated for each user you want on the to list.
190 CONFIGURATION
191 -------------
192 sendemail.identity::
193         The default configuration identity. When specified,
194         'sendemail.<identity>.<item>' will have higher precedence than
195         'sendemail.<item>'. This is useful to declare multiple SMTP
196         identities and to hoist sensitive authentication information
197         out of the repository and into the global configuration file.
199 sendemail.aliasesfile::
200         To avoid typing long email addresses, point this to one or more
201         email aliases files.  You must also supply 'sendemail.aliasfiletype'.
203 sendemail.aliasfiletype::
204         Format of the file(s) specified in sendemail.aliasesfile. Must be
205         one of 'mutt', 'mailrc', 'pine', or 'gnus'.
207 sendemail.to::
208         Email address (or alias) to always send to.
210 sendemail.cccmd::
211         Command to execute to generate per patch file specific "Cc:"s.
213 sendemail.bcc::
214         Email address (or alias) to always bcc.
216 sendemail.chainreplyto::
217         Boolean value specifying the default to the '--chain_reply_to'
218         parameter.
220 sendemail.smtpserver::
221         Default SMTP server to use.
223 sendemail.smtpserverport::
224         Default SMTP server port to use.
226 sendemail.smtpuser::
227         Default SMTP-AUTH username.
229 sendemail.smtppass::
230         Default SMTP-AUTH password.
232 sendemail.smtpssl::
233         Boolean value specifying the default to the '--smtp-ssl' parameter.
235 Author
236 ------
237 Written by Ryan Anderson <ryan@michonline.com>
239 git-send-email is originally based upon
240 send_lots_of_email.pl by Greg Kroah-Hartman.
242 Documentation
243 --------------
244 Documentation by Ryan Anderson
248 Part of the linkgit:git[1] suite