]> asedeno.scripts.mit.edu Git - git.git/blob - Documentation/git-send-email.txt
66d5f4cddc6ccb71ebc9a53c5c513790246103ac
[git.git] / Documentation / git-send-email.txt
1 git-send-email(1)
2 =================
3
4 NAME
5 ----
6 git-send-email - Send a collection of patches as emails
7
8
9 SYNOPSIS
10 --------
11 'git send-email' [options] <file|directory|rev-list options>...
12
13
14 DESCRIPTION
15 -----------
16 Takes the patches given on the command line and emails them out.
17
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.
21
22
23 OPTIONS
24 -------
25
26 Composing
27 ~~~~~~~~~
28
29 --bcc::
30         Specify a "Bcc:" value for each email. Default is the value of
31         'sendemail.bcc'.
32 +
33 The --bcc option must be repeated for each user you want on the bcc list.
34
35 --cc::
36         Specify a starting "Cc:" value for each email.
37 +
38 The --cc option must be repeated for each user you want on the cc list.
39
40 --annotate::
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.
44
45 --compose::
46         Use $GIT_EDITOR, core.editor, $VISUAL, or $EDITOR to edit an
47         introductory message for the patch series.
48
49 --from::
50         Specify the sender of the emails.  This will default to
51         the value GIT_COMMITTER_IDENT, as returned by "git var -l".
52         The user will still be prompted to confirm this entry.
53
54 --in-reply-to::
55         Specify the contents of the first In-Reply-To header.
56         Subsequent emails will refer to the previous email
57         instead of this if --chain-reply-to is set (the default)
58         Only necessary if --compose is also set.  If --compose
59         is not set, this will be prompted for.
60
61 --subject::
62         Specify the initial subject of the email thread.
63         Only necessary if --compose is also set.  If --compose
64         is not set, this will be prompted for.
65
66 --to::
67         Specify the primary recipient of the emails generated. Generally, this
68         will be the upstream maintainer of the project involved. Default is the
69         value of the 'sendemail.to' configuration value; if that is unspecified,
70         this will be prompted for.
71 +
72 The --to option must be repeated for each user you want on the to list.
73
74
75 Sending
76 ~~~~~~~
77
78 --envelope-sender::
79         Specify the envelope sender used to send the emails.
80         This is useful if your default address is not the address that is
81         subscribed to a list. If you use the sendmail binary, you must have
82         suitable privileges for the -f parameter. Default is the value of
83         the 'sendemail.envelopesender' configuration variable; if that is
84         unspecified, choosing the envelope sender is left to your MTA.
85
86 --smtp-encryption::
87         Specify the encryption to use, either 'ssl' or 'tls'.  Any other
88         value reverts to plain SMTP.  Default is the value of
89         'sendemail.smtpencryption'.
90
91 --smtp-pass::
92         Password for SMTP-AUTH. The argument is optional: If no
93         argument is specified, then the empty string is used as
94         the password. Default is the value of 'sendemail.smtppass',
95         however '--smtp-pass' always overrides this value.
96 +
97 Furthermore, passwords need not be specified in configuration files
98 or on the command line. If a username has been specified (with
99 '--smtp-user' or a 'sendemail.smtpuser'), but no password has been
100 specified (with '--smtp-pass' or 'sendemail.smtppass'), then the
101 user is prompted for a password while the input is masked for privacy.
102
103 --smtp-server::
104         If set, specifies the outgoing SMTP server to use (e.g.
105         `smtp.example.com` or a raw IP address).  Alternatively it can
106         specify a full pathname of a sendmail-like program instead;
107         the program must support the `-i` option.  Default value can
108         be specified by the 'sendemail.smtpserver' configuration
109         option; the built-in default is `/usr/sbin/sendmail` or
110         `/usr/lib/sendmail` if such program is available, or
111         `localhost` otherwise.
112
113 --smtp-server-port::
114         Specifies a port different from the default port (SMTP
115         servers typically listen to smtp port 25 and ssmtp port
116         465). This can be set with 'sendemail.smtpserverport'.
117
118 --smtp-ssl::
119         Legacy alias for '--smtp-encryption ssl'.
120
121 --smtp-user::
122         Username for SMTP-AUTH. Default is the value of 'sendemail.smtpuser';
123         if a username is not specified (with '--smtp-user' or 'sendemail.smtpuser'),
124         then authentication is not attempted.
125
126
127 Automating
128 ~~~~~~~~~~
129
130 --cc-cmd::
131         Specify a command to execute once per patch file which
132         should generate patch file specific "Cc:" entries.
133         Output of this command must be single email address per line.
134         Default is the value of 'sendemail.cccmd' configuration value.
135
136 --[no-]chain-reply-to::
137         If this is set, each email will be sent as a reply to the previous
138         email sent.  If disabled with "--no-chain-reply-to", all emails after
139         the first will be sent as replies to the first email sent.  When using
140         this, it is recommended that the first file given be an overview of the
141         entire patch series. Default is the value of the 'sendemail.chainreplyto'
142         configuration value; if that is unspecified, default to --chain-reply-to.
143
144 --identity::
145         A configuration identity. When given, causes values in the
146         'sendemail.<identity>' subsection to take precedence over
147         values in the 'sendemail' section. The default identity is
148         the value of 'sendemail.identity'.
149
150 --[no-]signed-off-by-cc::
151         If this is set, add emails found in Signed-off-by: or Cc: lines to the
152         cc list. Default is the value of 'sendemail.signedoffbycc' configuration
153         value; if that is unspecified, default to --signed-off-by-cc.
154
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.
165
166 --[no-]suppress-from::
167         If this is set, do not add the From: address to the cc: list.
168         Default is the value of 'sendemail.suppressfrom' configuration
169         value; if that is unspecified, default to --no-suppress-from.
170
171 --[no-]thread::
172         If this is set, the In-Reply-To header will be set on each email sent.
173         If disabled with "--no-thread", no emails will have the In-Reply-To
174         header set. Default is the value of the 'sendemail.thread' configuration
175         value; if that is unspecified, default to --thread.
176
177
178 Administering
179 ~~~~~~~~~~~~~
180
181 --dry-run::
182         Do everything except actually send the emails.
183
184 --quiet::
185         Make git-send-email less verbose.  One line per email should be
186         all that is output.
187
188 --[no-]validate::
189         Perform sanity checks on patches.
190         Currently, validation means the following:
191
192 --[no-]format-patch::
193         When an argument may be understood either as a reference or as a file name,
194         choose to understand it as a format-patch argument ('--format-patch')
195         or as a file name ('--no-format-patch'). By default, when such a conflict
196         occurs, git send-email will fail.
197 +
198 --
199                 *       Warn of patches that contain lines longer than 998 characters; this
200                         is due to SMTP limits as described by http://www.ietf.org/rfc/rfc2821.txt.
201 --
202 +
203 Default is the value of 'sendemail.validate'; if this is not set,
204 default to '--validate'.
205
206
207 CONFIGURATION
208 -------------
209
210 sendemail.aliasesfile::
211         To avoid typing long email addresses, point this to one or more
212         email aliases files.  You must also supply 'sendemail.aliasfiletype'.
213
214 sendemail.aliasfiletype::
215         Format of the file(s) specified in sendemail.aliasesfile. Must be
216         one of 'mutt', 'mailrc', 'pine', or 'gnus'.
217
218 sendemail.multiedit::
219         If true (default), a single editor instance will be spawned to edit
220         files you have to edit (patches when '--annotate' is used, and the
221         summary when '--compose' is used). If false, files will be edited one
222         after the other, spawning a new editor each time.
223
224
225 Author
226 ------
227 Written by Ryan Anderson <ryan@michonline.com>
228
229 git-send-email is originally based upon
230 send_lots_of_email.pl by Greg Kroah-Hartman.
231
232
233 Documentation
234 --------------
235 Documentation by Ryan Anderson
236
237
238 GIT
239 ---
240 Part of the linkgit:git[1] suite