blob: 9a14512b765a1315e3505c1ac63b63a86eeb7afb [file] [log] [blame]
Junio C Hamano1a4e8412005-12-27 08:17:231<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
2 "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
4<head>
Junio C Hamano9d971152012-12-19 00:43:115<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" />
Junio C Hamano61525f92014-01-17 22:46:496<meta name="generator" content="AsciiDoc 8.6.6" />
Junio C Hamano68cf15a2010-11-06 01:01:597<title>git-send-email(1)</title>
Junio C Hamano1a4e8412005-12-27 08:17:238<style type="text/css">
Junio C Hamano9d971152012-12-19 00:43:119/* Shared CSS for AsciiDoc xhtml11 and html5 backends */
10
11/* Default font. */
12body {
13 font-family: Georgia,serif;
14}
15
16/* Title font. */
17h1, h2, h3, h4, h5, h6,
18div.title, caption.title,
19thead, p.table.header,
20#toctitle,
21#author, #revnumber, #revdate, #revremark,
22#footer {
23 font-family: Arial,Helvetica,sans-serif;
Junio C Hamano1a4e8412005-12-27 08:17:2324}
25
26body {
27 margin: 1em 5% 1em 5%;
28}
29
Junio C Hamano9e395072008-07-31 22:11:2130a {
31 color: blue;
32 text-decoration: underline;
33}
34a:visited {
35 color: fuchsia;
36}
Junio C Hamano1a4e8412005-12-27 08:17:2337
38em {
39 font-style: italic;
Junio C Hamano68cf15a2010-11-06 01:01:5940 color: navy;
Junio C Hamano1a4e8412005-12-27 08:17:2341}
42
43strong {
44 font-weight: bold;
Junio C Hamano68cf15a2010-11-06 01:01:5945 color: #083194;
Junio C Hamano1a4e8412005-12-27 08:17:2346}
47
Junio C Hamano1a4e8412005-12-27 08:17:2348h1, h2, h3, h4, h5, h6 {
49 color: #527bbd;
Junio C Hamano1a4e8412005-12-27 08:17:2350 margin-top: 1.2em;
51 margin-bottom: 0.5em;
52 line-height: 1.3;
53}
54
Junio C Hamano9e395072008-07-31 22:11:2155h1, h2, h3 {
Junio C Hamano1a4e8412005-12-27 08:17:2356 border-bottom: 2px solid silver;
57}
58h2 {
Junio C Hamano1a4e8412005-12-27 08:17:2359 padding-top: 0.5em;
60}
Junio C Hamano9e395072008-07-31 22:11:2161h3 {
62 float: left;
63}
64h3 + * {
65 clear: left;
66}
Junio C Hamano9d971152012-12-19 00:43:1167h5 {
68 font-size: 1.0em;
69}
Junio C Hamano1a4e8412005-12-27 08:17:2370
71div.sectionbody {
Junio C Hamano1a4e8412005-12-27 08:17:2372 margin-left: 0;
73}
74
75hr {
76 border: 1px solid silver;
77}
78
79p {
80 margin-top: 0.5em;
81 margin-bottom: 0.5em;
82}
83
Junio C Hamano68cf15a2010-11-06 01:01:5984ul, ol, li > p {
85 margin-top: 0;
86}
Junio C Hamano9d971152012-12-19 00:43:1187ul > li { color: #aaa; }
88ul > li > * { color: black; }
Junio C Hamano68cf15a2010-11-06 01:01:5989
Junio C Hamano61525f92014-01-17 22:46:4990pre {
Junio C Hamano1a4e8412005-12-27 08:17:2391 padding: 0;
92 margin: 0;
93}
94
Junio C Hamano9d971152012-12-19 00:43:1195#author {
Junio C Hamano1a4e8412005-12-27 08:17:2396 color: #527bbd;
Junio C Hamano1a4e8412005-12-27 08:17:2397 font-weight: bold;
Junio C Hamano9e395072008-07-31 22:11:2198 font-size: 1.1em;
Junio C Hamano1a4e8412005-12-27 08:17:2399}
Junio C Hamano9d971152012-12-19 00:43:11100#email {
Junio C Hamano1a4e8412005-12-27 08:17:23101}
Junio C Hamano9d971152012-12-19 00:43:11102#revnumber, #revdate, #revremark {
Junio C Hamano1a4e8412005-12-27 08:17:23103}
104
Junio C Hamano9d971152012-12-19 00:43:11105#footer {
Junio C Hamano1a4e8412005-12-27 08:17:23106 font-size: small;
107 border-top: 2px solid silver;
108 padding-top: 0.5em;
109 margin-top: 4.0em;
110}
Junio C Hamano9d971152012-12-19 00:43:11111#footer-text {
Junio C Hamano1a4e8412005-12-27 08:17:23112 float: left;
113 padding-bottom: 0.5em;
114}
Junio C Hamano9d971152012-12-19 00:43:11115#footer-badges {
Junio C Hamano1a4e8412005-12-27 08:17:23116 float: right;
117 padding-bottom: 0.5em;
118}
119
Junio C Hamano9d971152012-12-19 00:43:11120#preamble {
Junio C Hamano68cf15a2010-11-06 01:01:59121 margin-top: 1.5em;
122 margin-bottom: 1.5em;
123}
Junio C Hamano9d971152012-12-19 00:43:11124div.imageblock, div.exampleblock, div.verseblock,
Junio C Hamano1a4e8412005-12-27 08:17:23125div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
126div.admonitionblock {
Junio C Hamano7bd050f2011-09-22 06:32:22127 margin-top: 1.0em;
Junio C Hamano1a4e8412005-12-27 08:17:23128 margin-bottom: 1.5em;
129}
130div.admonitionblock {
Junio C Hamano7bd050f2011-09-22 06:32:22131 margin-top: 2.0em;
132 margin-bottom: 2.0em;
133 margin-right: 10%;
134 color: #606060;
Junio C Hamano1a4e8412005-12-27 08:17:23135}
136
137div.content { /* Block element content. */
138 padding: 0;
139}
140
141/* Block element titles. */
142div.title, caption.title {
Junio C Hamano68cf15a2010-11-06 01:01:59143 color: #527bbd;
Junio C Hamano1a4e8412005-12-27 08:17:23144 font-weight: bold;
145 text-align: left;
146 margin-top: 1.0em;
147 margin-bottom: 0.5em;
148}
149div.title + * {
150 margin-top: 0;
151}
152
153td div.title:first-child {
154 margin-top: 0.0em;
155}
156div.content div.title:first-child {
157 margin-top: 0.0em;
158}
159div.content + div.title {
160 margin-top: 0.0em;
161}
162
163div.sidebarblock > div.content {
164 background: #ffffee;
Junio C Hamano9d971152012-12-19 00:43:11165 border: 1px solid #dddddd;
166 border-left: 4px solid #f0f0f0;
Junio C Hamano1a4e8412005-12-27 08:17:23167 padding: 0.5em;
168}
169
170div.listingblock > div.content {
Junio C Hamano9d971152012-12-19 00:43:11171 border: 1px solid #dddddd;
172 border-left: 5px solid #f0f0f0;
173 background: #f8f8f8;
Junio C Hamano1a4e8412005-12-27 08:17:23174 padding: 0.5em;
175}
176
Junio C Hamano7bd050f2011-09-22 06:32:22177div.quoteblock, div.verseblock {
178 padding-left: 1.0em;
179 margin-left: 1.0em;
Junio C Hamano68cf15a2010-11-06 01:01:59180 margin-right: 10%;
Junio C Hamano9d971152012-12-19 00:43:11181 border-left: 5px solid #f0f0f0;
182 color: #888;
Junio C Hamano1a4e8412005-12-27 08:17:23183}
Junio C Hamano7bd050f2011-09-22 06:32:22184
Junio C Hamano68cf15a2010-11-06 01:01:59185div.quoteblock > div.attribution {
186 padding-top: 0.5em;
Junio C Hamano1a4e8412005-12-27 08:17:23187 text-align: right;
188}
Junio C Hamano68cf15a2010-11-06 01:01:59189
Junio C Hamano9d971152012-12-19 00:43:11190div.verseblock > pre.content {
191 font-family: inherit;
192 font-size: inherit;
Junio C Hamano68cf15a2010-11-06 01:01:59193}
194div.verseblock > div.attribution {
195 padding-top: 0.75em;
196 text-align: left;
197}
198/* DEPRECATED: Pre version 8.2.7 verse style literal block. */
Junio C Hamano9e395072008-07-31 22:11:21199div.verseblock + div.attribution {
200 text-align: left;
201}
Junio C Hamano1a4e8412005-12-27 08:17:23202
203div.admonitionblock .icon {
204 vertical-align: top;
205 font-size: 1.1em;
206 font-weight: bold;
207 text-decoration: underline;
208 color: #527bbd;
209 padding-right: 0.5em;
210}
211div.admonitionblock td.content {
212 padding-left: 0.5em;
Junio C Hamano7bd050f2011-09-22 06:32:22213 border-left: 3px solid #dddddd;
Junio C Hamano1a4e8412005-12-27 08:17:23214}
215
216div.exampleblock > div.content {
Junio C Hamano7bd050f2011-09-22 06:32:22217 border-left: 3px solid #dddddd;
218 padding-left: 0.5em;
Junio C Hamano1a4e8412005-12-27 08:17:23219}
220
Junio C Hamano1a4e8412005-12-27 08:17:23221div.imageblock div.content { padding-left: 0; }
Junio C Hamano1a4e8412005-12-27 08:17:23222span.image img { border-style: none; }
Junio C Hamano68cf15a2010-11-06 01:01:59223a.image:visited { color: white; }
Junio C Hamano1a4e8412005-12-27 08:17:23224
225dl {
226 margin-top: 0.8em;
227 margin-bottom: 0.8em;
228}
229dt {
230 margin-top: 0.5em;
231 margin-bottom: 0;
Junio C Hamano68cf15a2010-11-06 01:01:59232 font-style: normal;
233 color: navy;
Junio C Hamano1a4e8412005-12-27 08:17:23234}
235dd > *:first-child {
Junio C Hamano68cf15a2010-11-06 01:01:59236 margin-top: 0.1em;
Junio C Hamano1a4e8412005-12-27 08:17:23237}
238
239ul, ol {
240 list-style-position: outside;
241}
Junio C Hamano68cf15a2010-11-06 01:01:59242ol.arabic {
243 list-style-type: decimal;
244}
245ol.loweralpha {
Junio C Hamano1a4e8412005-12-27 08:17:23246 list-style-type: lower-alpha;
247}
Junio C Hamano68cf15a2010-11-06 01:01:59248ol.upperalpha {
249 list-style-type: upper-alpha;
250}
251ol.lowerroman {
252 list-style-type: lower-roman;
253}
254ol.upperroman {
255 list-style-type: upper-roman;
256}
257
258div.compact ul, div.compact ol,
259div.compact p, div.compact p,
260div.compact div, div.compact div {
261 margin-top: 0.1em;
262 margin-bottom: 0.1em;
263}
Junio C Hamano1a4e8412005-12-27 08:17:23264
Junio C Hamano1a4e8412005-12-27 08:17:23265tfoot {
266 font-weight: bold;
267}
Junio C Hamano68cf15a2010-11-06 01:01:59268td > div.verse {
269 white-space: pre;
270}
Junio C Hamano68cf15a2010-11-06 01:01:59271
272div.hdlist {
Junio C Hamano1a4e8412005-12-27 08:17:23273 margin-top: 0.8em;
274 margin-bottom: 0.8em;
275}
Junio C Hamano68cf15a2010-11-06 01:01:59276div.hdlist tr {
277 padding-bottom: 15px;
Junio C Hamano9e395072008-07-31 22:11:21278}
Junio C Hamano68cf15a2010-11-06 01:01:59279dt.hdlist1.strong, td.hdlist1.strong {
280 font-weight: bold;
281}
282td.hdlist1 {
Junio C Hamano1a4e8412005-12-27 08:17:23283 vertical-align: top;
Junio C Hamano68cf15a2010-11-06 01:01:59284 font-style: normal;
Junio C Hamano1a4e8412005-12-27 08:17:23285 padding-right: 0.8em;
Junio C Hamano68cf15a2010-11-06 01:01:59286 color: navy;
Junio C Hamano1a4e8412005-12-27 08:17:23287}
Junio C Hamano68cf15a2010-11-06 01:01:59288td.hdlist2 {
Junio C Hamano1a4e8412005-12-27 08:17:23289 vertical-align: top;
290}
Junio C Hamano68cf15a2010-11-06 01:01:59291div.hdlist.compact tr {
292 margin: 0;
293 padding-bottom: 0;
294}
295
296.comment {
297 background: yellow;
298}
Junio C Hamano1a4e8412005-12-27 08:17:23299
Junio C Hamano7bd050f2011-09-22 06:32:22300.footnote, .footnoteref {
301 font-size: 0.8em;
302}
303
304span.footnote, span.footnoteref {
305 vertical-align: super;
306}
307
308#footnotes {
309 margin: 20px 0 20px 0;
310 padding: 7px 0 0 0;
311}
312
313#footnotes div.footnote {
314 margin: 0 0 5px 0;
315}
316
317#footnotes hr {
318 border: none;
319 border-top: 1px solid silver;
320 height: 1px;
321 text-align: left;
322 margin-left: 0;
323 width: 20%;
324 min-width: 100px;
325}
326
Junio C Hamano9d971152012-12-19 00:43:11327div.colist td {
328 padding-right: 0.5em;
329 padding-bottom: 0.3em;
330 vertical-align: top;
331}
332div.colist td img {
333 margin-top: 0.3em;
Junio C Hamano1a4e8412005-12-27 08:17:23334}
Junio C Hamano9e395072008-07-31 22:11:21335
Junio C Hamano9d971152012-12-19 00:43:11336@media print {
337 #footer-badges { display: none; }
338}
339
340#toc {
Junio C Hamano7bd050f2011-09-22 06:32:22341 margin-bottom: 2.5em;
342}
343
Junio C Hamano9d971152012-12-19 00:43:11344#toctitle {
Junio C Hamano9e395072008-07-31 22:11:21345 color: #527bbd;
Junio C Hamano9e395072008-07-31 22:11:21346 font-size: 1.1em;
347 font-weight: bold;
348 margin-top: 1.0em;
349 margin-bottom: 0.1em;
350}
351
Junio C Hamano61525f92014-01-17 22:46:49352div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 {
Junio C Hamano9e395072008-07-31 22:11:21353 margin-top: 0;
354 margin-bottom: 0;
355}
356div.toclevel2 {
357 margin-left: 2em;
358 font-size: 0.9em;
359}
360div.toclevel3 {
361 margin-left: 4em;
362 font-size: 0.9em;
363}
364div.toclevel4 {
365 margin-left: 6em;
366 font-size: 0.9em;
367}
Junio C Hamano9d971152012-12-19 00:43:11368
369span.aqua { color: aqua; }
370span.black { color: black; }
371span.blue { color: blue; }
372span.fuchsia { color: fuchsia; }
373span.gray { color: gray; }
374span.green { color: green; }
375span.lime { color: lime; }
376span.maroon { color: maroon; }
377span.navy { color: navy; }
378span.olive { color: olive; }
379span.purple { color: purple; }
380span.red { color: red; }
381span.silver { color: silver; }
382span.teal { color: teal; }
383span.white { color: white; }
384span.yellow { color: yellow; }
385
386span.aqua-background { background: aqua; }
387span.black-background { background: black; }
388span.blue-background { background: blue; }
389span.fuchsia-background { background: fuchsia; }
390span.gray-background { background: gray; }
391span.green-background { background: green; }
392span.lime-background { background: lime; }
393span.maroon-background { background: maroon; }
394span.navy-background { background: navy; }
395span.olive-background { background: olive; }
396span.purple-background { background: purple; }
397span.red-background { background: red; }
398span.silver-background { background: silver; }
399span.teal-background { background: teal; }
400span.white-background { background: white; }
401span.yellow-background { background: yellow; }
402
403span.big { font-size: 2em; }
404span.small { font-size: 0.6em; }
405
406span.underline { text-decoration: underline; }
407span.overline { text-decoration: overline; }
408span.line-through { text-decoration: line-through; }
409
Junio C Hamano9d971152012-12-19 00:43:11410
411/*
412 * xhtml11 specific
413 *
414 * */
415
Junio C Hamano61525f92014-01-17 22:46:49416tt {
417 font-family: monospace;
418 font-size: inherit;
419 color: navy;
420}
421
Junio C Hamano9d971152012-12-19 00:43:11422div.tableblock {
423 margin-top: 1.0em;
424 margin-bottom: 1.5em;
425}
426div.tableblock > table {
427 border: 3px solid #527bbd;
428}
429thead, p.table.header {
430 font-weight: bold;
431 color: #527bbd;
432}
433p.table {
434 margin-top: 0;
435}
436/* Because the table frame attribute is overriden by CSS in most browsers. */
437div.tableblock > table[frame="void"] {
438 border-style: none;
439}
440div.tableblock > table[frame="hsides"] {
441 border-left-style: none;
442 border-right-style: none;
443}
444div.tableblock > table[frame="vsides"] {
445 border-top-style: none;
446 border-bottom-style: none;
447}
448
449
450/*
451 * html5 specific
452 *
453 * */
454
Junio C Hamano61525f92014-01-17 22:46:49455.monospaced {
456 font-family: monospace;
457 font-size: inherit;
458 color: navy;
459}
460
Junio C Hamano9d971152012-12-19 00:43:11461table.tableblock {
462 margin-top: 1.0em;
463 margin-bottom: 1.5em;
464}
465thead, p.tableblock.header {
466 font-weight: bold;
467 color: #527bbd;
468}
469p.tableblock {
470 margin-top: 0;
471}
472table.tableblock {
473 border-width: 3px;
474 border-spacing: 0px;
475 border-style: solid;
476 border-color: #527bbd;
477 border-collapse: collapse;
478}
479th.tableblock, td.tableblock {
480 border-width: 1px;
481 padding: 4px;
482 border-style: solid;
483 border-color: #527bbd;
484}
485
486table.tableblock.frame-topbot {
487 border-left-style: hidden;
488 border-right-style: hidden;
489}
490table.tableblock.frame-sides {
491 border-top-style: hidden;
492 border-bottom-style: hidden;
493}
494table.tableblock.frame-none {
495 border-style: hidden;
496}
497
498th.tableblock.halign-left, td.tableblock.halign-left {
499 text-align: left;
500}
501th.tableblock.halign-center, td.tableblock.halign-center {
502 text-align: center;
503}
504th.tableblock.halign-right, td.tableblock.halign-right {
505 text-align: right;
506}
507
508th.tableblock.valign-top, td.tableblock.valign-top {
509 vertical-align: top;
510}
511th.tableblock.valign-middle, td.tableblock.valign-middle {
512 vertical-align: middle;
513}
514th.tableblock.valign-bottom, td.tableblock.valign-bottom {
515 vertical-align: bottom;
516}
517
518
519/*
520 * manpage specific
521 *
522 * */
523
524body.manpage h1 {
Junio C Hamano68cf15a2010-11-06 01:01:59525 padding-top: 0.5em;
526 padding-bottom: 0.5em;
527 border-top: 2px solid silver;
528 border-bottom: 2px solid silver;
529}
Junio C Hamano9d971152012-12-19 00:43:11530body.manpage h2 {
Junio C Hamano68cf15a2010-11-06 01:01:59531 border-style: none;
532}
Junio C Hamano9d971152012-12-19 00:43:11533body.manpage div.sectionbody {
534 margin-left: 3em;
Junio C Hamano68cf15a2010-11-06 01:01:59535}
536
537@media print {
Junio C Hamano9d971152012-12-19 00:43:11538 body.manpage div#toc { display: none; }
Junio C Hamano68cf15a2010-11-06 01:01:59539}
Junio C Hamano1a4e8412005-12-27 08:17:23540</style>
Junio C Hamano7bd050f2011-09-22 06:32:22541<script type="text/javascript">
542/*<![CDATA[*/
Junio C Hamano7bd050f2011-09-22 06:32:22543var asciidoc = { // Namespace.
544
545/////////////////////////////////////////////////////////////////////
546// Table Of Contents generator
547/////////////////////////////////////////////////////////////////////
548
549/* Author: Mihai Bazon, September 2002
550 * http://students.infoiasi.ro/~mishoo
551 *
552 * Table Of Content generator
553 * Version: 0.4
554 *
555 * Feel free to use this script under the terms of the GNU General Public
556 * License, as long as you do not remove or alter this notice.
557 */
558
559 /* modified by Troy D. Hanson, September 2006. License: GPL */
560 /* modified by Stuart Rackham, 2006, 2009. License: GPL */
561
562// toclevels = 1..4.
563toc: function (toclevels) {
564
565 function getText(el) {
566 var text = "";
567 for (var i = el.firstChild; i != null; i = i.nextSibling) {
568 if (i.nodeType == 3 /* Node.TEXT_NODE */) // IE doesn't speak constants.
569 text += i.data;
570 else if (i.firstChild != null)
571 text += getText(i);
572 }
573 return text;
574 }
575
576 function TocEntry(el, text, toclevel) {
577 this.element = el;
578 this.text = text;
579 this.toclevel = toclevel;
580 }
581
582 function tocEntries(el, toclevels) {
583 var result = new Array;
Junio C Hamano61525f92014-01-17 22:46:49584 var re = new RegExp('[hH]([2-'+(toclevels+1)+'])');
Junio C Hamano7bd050f2011-09-22 06:32:22585 // Function that scans the DOM tree for header elements (the DOM2
586 // nodeIterator API would be a better technique but not supported by all
587 // browsers).
588 var iterate = function (el) {
589 for (var i = el.firstChild; i != null; i = i.nextSibling) {
590 if (i.nodeType == 1 /* Node.ELEMENT_NODE */) {
591 var mo = re.exec(i.tagName);
592 if (mo && (i.getAttribute("class") || i.getAttribute("className")) != "float") {
593 result[result.length] = new TocEntry(i, getText(i), mo[1]-1);
594 }
595 iterate(i);
596 }
597 }
598 }
599 iterate(el);
600 return result;
601 }
602
603 var toc = document.getElementById("toc");
Junio C Hamano9d971152012-12-19 00:43:11604 if (!toc) {
605 return;
606 }
607
608 // Delete existing TOC entries in case we're reloading the TOC.
609 var tocEntriesToRemove = [];
610 var i;
611 for (i = 0; i < toc.childNodes.length; i++) {
612 var entry = toc.childNodes[i];
Junio C Hamano61525f92014-01-17 22:46:49613 if (entry.nodeName == 'div'
Junio C Hamano9d971152012-12-19 00:43:11614 && entry.getAttribute("class")
615 && entry.getAttribute("class").match(/^toclevel/))
616 tocEntriesToRemove.push(entry);
617 }
618 for (i = 0; i < tocEntriesToRemove.length; i++) {
619 toc.removeChild(tocEntriesToRemove[i]);
620 }
621
622 // Rebuild TOC entries.
Junio C Hamano7bd050f2011-09-22 06:32:22623 var entries = tocEntries(document.getElementById("content"), toclevels);
624 for (var i = 0; i < entries.length; ++i) {
625 var entry = entries[i];
626 if (entry.element.id == "")
627 entry.element.id = "_toc_" + i;
628 var a = document.createElement("a");
629 a.href = "#" + entry.element.id;
630 a.appendChild(document.createTextNode(entry.text));
631 var div = document.createElement("div");
632 div.appendChild(a);
633 div.className = "toclevel" + entry.toclevel;
634 toc.appendChild(div);
635 }
636 if (entries.length == 0)
637 toc.parentNode.removeChild(toc);
638},
639
640
641/////////////////////////////////////////////////////////////////////
642// Footnotes generator
643/////////////////////////////////////////////////////////////////////
644
645/* Based on footnote generation code from:
646 * http://www.brandspankingnew.net/archive/2005/07/format_footnote.html
647 */
648
649footnotes: function () {
Junio C Hamano9d971152012-12-19 00:43:11650 // Delete existing footnote entries in case we're reloading the footnodes.
651 var i;
Junio C Hamano7bd050f2011-09-22 06:32:22652 var noteholder = document.getElementById("footnotes");
Junio C Hamano9d971152012-12-19 00:43:11653 if (!noteholder) {
654 return;
655 }
656 var entriesToRemove = [];
657 for (i = 0; i < noteholder.childNodes.length; i++) {
658 var entry = noteholder.childNodes[i];
Junio C Hamano61525f92014-01-17 22:46:49659 if (entry.nodeName == 'div' && entry.getAttribute("class") == "footnote")
Junio C Hamano9d971152012-12-19 00:43:11660 entriesToRemove.push(entry);
661 }
662 for (i = 0; i < entriesToRemove.length; i++) {
663 noteholder.removeChild(entriesToRemove[i]);
664 }
665
666 // Rebuild footnote entries.
667 var cont = document.getElementById("content");
Junio C Hamano7bd050f2011-09-22 06:32:22668 var spans = cont.getElementsByTagName("span");
669 var refs = {};
670 var n = 0;
671 for (i=0; i<spans.length; i++) {
672 if (spans[i].className == "footnote") {
673 n++;
Junio C Hamano9d971152012-12-19 00:43:11674 var note = spans[i].getAttribute("data-note");
675 if (!note) {
676 // Use [\s\S] in place of . so multi-line matches work.
677 // Because JavaScript has no s (dotall) regex flag.
678 note = spans[i].innerHTML.match(/\s*\[([\s\S]*)]\s*/)[1];
679 spans[i].innerHTML =
680 "[<a id='_footnoteref_" + n + "' href='#_footnote_" + n +
681 "' title='View footnote' class='footnote'>" + n + "</a>]";
682 spans[i].setAttribute("data-note", note);
683 }
Junio C Hamano7bd050f2011-09-22 06:32:22684 noteholder.innerHTML +=
685 "<div class='footnote' id='_footnote_" + n + "'>" +
686 "<a href='#_footnoteref_" + n + "' title='Return to text'>" +
687 n + "</a>. " + note + "</div>";
Junio C Hamano7bd050f2011-09-22 06:32:22688 var id =spans[i].getAttribute("id");
689 if (id != null) refs["#"+id] = n;
690 }
691 }
692 if (n == 0)
693 noteholder.parentNode.removeChild(noteholder);
694 else {
695 // Process footnoterefs.
696 for (i=0; i<spans.length; i++) {
697 if (spans[i].className == "footnoteref") {
698 var href = spans[i].getElementsByTagName("a")[0].getAttribute("href");
699 href = href.match(/#.*/)[0]; // Because IE return full URL.
700 n = refs[href];
701 spans[i].innerHTML =
702 "[<a href='#_footnote_" + n +
703 "' title='View footnote' class='footnote'>" + n + "</a>]";
704 }
705 }
706 }
Junio C Hamano9d971152012-12-19 00:43:11707},
708
709install: function(toclevels) {
710 var timerId;
711
712 function reinstall() {
713 asciidoc.footnotes();
714 if (toclevels) {
715 asciidoc.toc(toclevels);
716 }
717 }
718
719 function reinstallAndRemoveTimer() {
720 clearInterval(timerId);
721 reinstall();
722 }
723
724 timerId = setInterval(reinstall, 500);
725 if (document.addEventListener)
726 document.addEventListener("DOMContentLoaded", reinstallAndRemoveTimer, false);
727 else
728 window.onload = reinstallAndRemoveTimer;
Junio C Hamano7bd050f2011-09-22 06:32:22729}
730
731}
Junio C Hamano9d971152012-12-19 00:43:11732asciidoc.install();
Junio C Hamano7bd050f2011-09-22 06:32:22733/*]]>*/
734</script>
Junio C Hamano1a4e8412005-12-27 08:17:23735</head>
Junio C Hamano9d971152012-12-19 00:43:11736<body class="manpage">
Junio C Hamano1a4e8412005-12-27 08:17:23737<div id="header">
738<h1>
739git-send-email(1) Manual Page
740</h1>
741<h2>NAME</h2>
742<div class="sectionbody">
743<p>git-send-email -
744 Send a collection of patches as emails
745</p>
746</div>
747</div>
Junio C Hamano7bd050f2011-09-22 06:32:22748<div id="content">
Junio C Hamano9d971152012-12-19 00:43:11749<div class="sect1">
Junio C Hamano68cf15a2010-11-06 01:01:59750<h2 id="_synopsis">SYNOPSIS</h2>
Junio C Hamano1a4e8412005-12-27 08:17:23751<div class="sectionbody">
Junio C Hamano15567bc2011-07-23 00:51:59752<div class="verseblock">
Junio C Hamano9d971152012-12-19 00:43:11753<pre class="content"><em>git send-email</em> [options] &lt;file|directory|rev-list options&gt;&#8230;</pre>
754<div class="attribution">
Junio C Hamano15567bc2011-07-23 00:51:59755</div></div>
Junio C Hamano1a4e8412005-12-27 08:17:23756</div>
Junio C Hamano9d971152012-12-19 00:43:11757</div>
758<div class="sect1">
Junio C Hamano9e395072008-07-31 22:11:21759<h2 id="_description">DESCRIPTION</h2>
Junio C Hamano1a4e8412005-12-27 08:17:23760<div class="sectionbody">
Junio C Hamano68cf15a2010-11-06 01:01:59761<div class="paragraph"><p>Takes the patches given on the command line and emails them out.
Junio C Hamanob95b43d2009-06-12 08:57:28762Patches can be specified as files, directories (which will send all
763files in the directory), or directly as a revision list. In the
Junio C Hamanoa28a9202012-06-21 07:08:23764last case, any format accepted by <a href="git-format-patch.html">git-format-patch(1)</a> can
Junio C Hamanob95b43d2009-06-12 08:57:28765be passed to git send-email.</p></div>
Junio C Hamano68cf15a2010-11-06 01:01:59766<div class="paragraph"><p>The header of the email is configurable by command line options. If not
Junio C Hamano1a4e8412005-12-27 08:17:23767specified on the command line, the user will be prompted with a ReadLine
Junio C Hamano9e395072008-07-31 22:11:21768enabled interface to provide the necessary information.</p></div>
Junio C Hamano68cf15a2010-11-06 01:01:59769<div class="paragraph"><p>There are two formats accepted for patch files:</p></div>
770<div class="olist arabic"><ol class="arabic">
Junio C Hamanoa6455f62009-02-20 08:33:08771<li>
772<p>
773mbox format files
774</p>
Junio C Hamanoa28a9202012-06-21 07:08:23775<div class="paragraph"><p>This is what <a href="git-format-patch.html">git-format-patch(1)</a> generates. Most headers and MIME
Junio C Hamanoa6455f62009-02-20 08:33:08776formatting are ignored.</p></div>
777</li>
778<li>
779<p>
Junio C Hamano68cf15a2010-11-06 01:01:59780The original format used by Greg Kroah-Hartman&#8217;s <em>send_lots_of_email.pl</em>
Junio C Hamanoa6455f62009-02-20 08:33:08781script
782</p>
Junio C Hamano68cf15a2010-11-06 01:01:59783<div class="paragraph"><p>This format expects the first line of the file to contain the "Cc:" value
Junio C Hamanoa6455f62009-02-20 08:33:08784and the "Subject:" of the message as the second line.</p></div>
785</li>
786</ol></div>
Junio C Hamano1a4e8412005-12-27 08:17:23787</div>
Junio C Hamano9d971152012-12-19 00:43:11788</div>
789<div class="sect1">
Junio C Hamano9e395072008-07-31 22:11:21790<h2 id="_options">OPTIONS</h2>
Junio C Hamano1a4e8412005-12-27 08:17:23791<div class="sectionbody">
Junio C Hamano9d971152012-12-19 00:43:11792<div class="sect2">
793<h3 id="_composing">Composing</h3>
Junio C Hamano68cf15a2010-11-06 01:01:59794<div class="dlist"><dl>
795<dt class="hdlist1">
Junio C Hamano3d141512009-06-01 01:22:40796--annotate
797</dt>
798<dd>
799<p>
Junio C Hamanoea3b7522013-04-18 19:37:53800 Review and edit each patch you&#8217;re about to send. Default is the value
801 of <em>sendemail.annotate</em>. See the CONFIGURATION section for
802 <em>sendemail.multiedit</em>.
Junio C Hamano3d141512009-06-01 01:22:40803</p>
804</dd>
Junio C Hamano68cf15a2010-11-06 01:01:59805<dt class="hdlist1">
Junio C Hamanob4a9ede2009-04-08 07:36:32806--bcc=&lt;address&gt;
Junio C Hamano97f518c2006-06-22 19:49:35807</dt>
808<dd>
809<p>
Junio C Hamanoa476efa2008-10-10 15:31:42810 Specify a "Bcc:" value for each email. Default is the value of
811 <em>sendemail.bcc</em>.
Junio C Hamano97f518c2006-06-22 19:49:35812</p>
Junio C Hamano68cf15a2010-11-06 01:01:59813<div class="paragraph"><p>The --bcc option must be repeated for each user you want on the bcc list.</p></div>
Junio C Hamano97f518c2006-06-22 19:49:35814</dd>
Junio C Hamano68cf15a2010-11-06 01:01:59815<dt class="hdlist1">
Junio C Hamanob4a9ede2009-04-08 07:36:32816--cc=&lt;address&gt;
Junio C Hamanoc9154122006-02-15 02:22:06817</dt>
818<dd>
819<p>
820 Specify a starting "Cc:" value for each email.
Junio C Hamano1d40ee82009-01-07 10:14:16821 Default is the value of <em>sendemail.cc</em>.
Junio C Hamanoc9154122006-02-15 02:22:06822</p>
Junio C Hamano68cf15a2010-11-06 01:01:59823<div class="paragraph"><p>The --cc option must be repeated for each user you want on the cc list.</p></div>
Junio C Hamanoc9154122006-02-15 02:22:06824</dd>
Junio C Hamano68cf15a2010-11-06 01:01:59825<dt class="hdlist1">
Junio C Hamano86f75882006-02-06 02:27:23826--compose
827</dt>
828<dd>
829<p>
Junio C Hamanoa28a9202012-06-21 07:08:23830 Invoke a text editor (see GIT_EDITOR in <a href="git-var.html">git-var(1)</a>)
Junio C Hamano3b70d3c2009-11-21 17:37:37831 to edit an introductory message for the patch series.
Junio C Hamano1a4e8412005-12-27 08:17:23832</p>
Junio C Hamano68cf15a2010-11-06 01:01:59833<div class="paragraph"><p>When <em>--compose</em> is used, git send-email will use the From, Subject, and
Junio C Hamanoea82cff2009-03-18 01:54:48834In-Reply-To headers specified in the message. If the body of the message
835(what you type after the headers and a blank line) only contains blank
Junio C Hamano076ffcc2013-02-06 05:13:21836(or Git: prefixed) lines the summary won&#8217;t be sent, but From, Subject,
Junio C Hamanoea82cff2009-03-18 01:54:48837and In-Reply-To headers will be used unless they are removed.</p></div>
Junio C Hamano68cf15a2010-11-06 01:01:59838<div class="paragraph"><p>Missing From or In-Reply-To headers will be prompted for.</p></div>
839<div class="paragraph"><p>See the CONFIGURATION section for <em>sendemail.multiedit</em>.</p></div>
Junio C Hamano1a4e8412005-12-27 08:17:23840</dd>
Junio C Hamano68cf15a2010-11-06 01:01:59841<dt class="hdlist1">
Junio C Hamanob4a9ede2009-04-08 07:36:32842--from=&lt;address&gt;
Junio C Hamano1a4e8412005-12-27 08:17:23843</dt>
844<dd>
845<p>
Junio C Hamano7ae18252009-05-23 09:53:32846 Specify the sender of the emails. If not specified on the command line,
847 the value of the <em>sendemail.from</em> configuration option is used. If
848 neither the command line option nor <em>sendemail.from</em> are set, then the
849 user will be prompted for the value. The default for the prompt will be
850 the value of GIT_AUTHOR_IDENT, or GIT_COMMITTER_IDENT if that is not
851 set, as returned by "git var -l".
Junio C Hamano1a4e8412005-12-27 08:17:23852</p>
853</dd>
Junio C Hamano68cf15a2010-11-06 01:01:59854<dt class="hdlist1">
Junio C Hamanob4a9ede2009-04-08 07:36:32855--in-reply-to=&lt;identifier&gt;
Junio C Hamano1a4e8412005-12-27 08:17:23856</dt>
857<dd>
858<p>
Junio C Hamano61525f92014-01-17 22:46:49859 Make the first mail (or all the mails with <tt>--no-thread</tt>) appear as a
Junio C Hamano97bcb482010-11-25 03:16:07860 reply to the given Message-Id, which avoids breaking threads to
861 provide a new patch series.
862 The second and subsequent emails will be sent as replies according to
Junio C Hamano61525f92014-01-17 22:46:49863 the <tt>--[no]-chain-reply-to</tt> setting.
Junio C Hamano1a4e8412005-12-27 08:17:23864</p>
Junio C Hamano61525f92014-01-17 22:46:49865<div class="paragraph"><p>So for example when <tt>--thread</tt> and <tt>--no-chain-reply-to</tt> are specified, the
Junio C Hamano97bcb482010-11-25 03:16:07866second and subsequent patches will be replies to the first one like in the
Junio C Hamano61525f92014-01-17 22:46:49867illustration below where <tt>[PATCH v2 0/3]</tt> is in reply to <tt>[PATCH 0/2]</tt>:</p></div>
Junio C Hamano97bcb482010-11-25 03:16:07868<div class="literalblock">
869<div class="content">
Junio C Hamano61525f92014-01-17 22:46:49870<pre><tt>[PATCH 0/2] Here is what I did...
Junio C Hamano97bcb482010-11-25 03:16:07871 [PATCH 1/2] Clean up and tests
872 [PATCH 2/2] Implementation
873 [PATCH v2 0/3] Here is a reroll
874 [PATCH v2 1/3] Clean up
875 [PATCH v2 2/3] New tests
Junio C Hamano61525f92014-01-17 22:46:49876 [PATCH v2 3/3] Implementation</tt></pre>
Junio C Hamano97bcb482010-11-25 03:16:07877</div></div>
878<div class="paragraph"><p>Only necessary if --compose is also set. If --compose
879is not set, this will be prompted for.</p></div>
Junio C Hamano1a4e8412005-12-27 08:17:23880</dd>
Junio C Hamano68cf15a2010-11-06 01:01:59881<dt class="hdlist1">
Junio C Hamanob4a9ede2009-04-08 07:36:32882--subject=&lt;string&gt;
Junio C Hamanoc9154122006-02-15 02:22:06883</dt>
884<dd>
885<p>
Junio C Hamanoa476efa2008-10-10 15:31:42886 Specify the initial subject of the email thread.
887 Only necessary if --compose is also set. If --compose
888 is not set, this will be prompted for.
Junio C Hamanoc9154122006-02-15 02:22:06889</p>
890</dd>
Junio C Hamano68cf15a2010-11-06 01:01:59891<dt class="hdlist1">
Junio C Hamanob4a9ede2009-04-08 07:36:32892--to=&lt;address&gt;
Junio C Hamano1a4e8412005-12-27 08:17:23893</dt>
894<dd>
895<p>
Junio C Hamanoa476efa2008-10-10 15:31:42896 Specify the primary recipient of the emails generated. Generally, this
897 will be the upstream maintainer of the project involved. Default is the
898 value of the <em>sendemail.to</em> configuration value; if that is unspecified,
Junio C Hamano39c7a692010-10-27 06:08:54899 and --to-cmd is not specified, this will be prompted for.
Junio C Hamanoa476efa2008-10-10 15:31:42900</p>
Junio C Hamano68cf15a2010-11-06 01:01:59901<div class="paragraph"><p>The --to option must be repeated for each user you want on the to list.</p></div>
Junio C Hamanoa476efa2008-10-10 15:31:42902</dd>
Junio C Hamano68cf15a2010-11-06 01:01:59903<dt class="hdlist1">
Junio C Hamano4015aed2010-06-27 20:07:42904--8bit-encoding=&lt;encoding&gt;
905</dt>
906<dd>
907<p>
908 When encountering a non-ASCII message or subject that does not
909 declare its encoding, add headers/quoting to indicate it is
910 encoded in &lt;encoding&gt;. Default is the value of the
911 <em>sendemail.assume8bitEncoding</em>; if that is unspecified, this
912 will be prompted for if any non-ASCII files are encountered.
913</p>
Junio C Hamano68cf15a2010-11-06 01:01:59914<div class="paragraph"><p>Note that no attempts whatsoever are made to validate the encoding.</p></div>
Junio C Hamano4015aed2010-06-27 20:07:42915</dd>
Junio C Hamanoa1295452012-11-13 22:32:04916<dt class="hdlist1">
917--compose-encoding=&lt;encoding&gt;
918</dt>
919<dd>
920<p>
921 Specify encoding of compose message. Default is the value of the
922 <em>sendemail.composeencoding</em>; if that is unspecified, UTF-8 is assumed.
923</p>
924</dd>
Junio C Hamanoa476efa2008-10-10 15:31:42925</dl></div>
Junio C Hamano9d971152012-12-19 00:43:11926</div>
927<div class="sect2">
928<h3 id="_sending">Sending</h3>
Junio C Hamano68cf15a2010-11-06 01:01:59929<div class="dlist"><dl>
930<dt class="hdlist1">
Junio C Hamanob4a9ede2009-04-08 07:36:32931--envelope-sender=&lt;address&gt;
Junio C Hamanoa476efa2008-10-10 15:31:42932</dt>
933<dd>
934<p>
935 Specify the envelope sender used to send the emails.
936 This is useful if your default address is not the address that is
Junio C Hamano2bd8a742009-12-01 21:16:59937 subscribed to a list. In order to use the <em>From</em> address, set the
938 value to "auto". If you use the sendmail binary, you must have
939 suitable privileges for the -f parameter. Default is the value of the
940 <em>sendemail.envelopesender</em> configuration variable; if that is
Junio C Hamanoa476efa2008-10-10 15:31:42941 unspecified, choosing the envelope sender is left to your MTA.
Junio C Hamano1a4e8412005-12-27 08:17:23942</p>
943</dd>
Junio C Hamano68cf15a2010-11-06 01:01:59944<dt class="hdlist1">
Junio C Hamanob4a9ede2009-04-08 07:36:32945--smtp-encryption=&lt;encryption&gt;
Junio C Hamano68522892007-09-06 01:33:41946</dt>
947<dd>
948<p>
Junio C Hamanoa476efa2008-10-10 15:31:42949 Specify the encryption to use, either <em>ssl</em> or <em>tls</em>. Any other
950 value reverts to plain SMTP. Default is the value of
951 <em>sendemail.smtpencryption</em>.
Junio C Hamano68522892007-09-06 01:33:41952</p>
953</dd>
Junio C Hamano68cf15a2010-11-06 01:01:59954<dt class="hdlist1">
Junio C Hamanocb39aea2010-05-09 07:24:48955--smtp-domain=&lt;FQDN&gt;
956</dt>
957<dd>
958<p>
959 Specifies the Fully Qualified Domain Name (FQDN) used in the
960 HELO/EHLO command to the SMTP server. Some servers require the
961 FQDN to match your IP address. If not set, git send-email attempts
962 to determine your FQDN automatically. Default is the value of
963 <em>sendemail.smtpdomain</em>.
964</p>
965</dd>
Junio C Hamano68cf15a2010-11-06 01:01:59966<dt class="hdlist1">
Junio C Hamanob4a9ede2009-04-08 07:36:32967--smtp-pass[=&lt;password&gt;]
Junio C Hamanoa476efa2008-10-10 15:31:42968</dt>
969<dd>
970<p>
971 Password for SMTP-AUTH. The argument is optional: If no
972 argument is specified, then the empty string is used as
973 the password. Default is the value of <em>sendemail.smtppass</em>,
974 however <em>--smtp-pass</em> always overrides this value.
975</p>
Junio C Hamano68cf15a2010-11-06 01:01:59976<div class="paragraph"><p>Furthermore, passwords need not be specified in configuration files
Junio C Hamanoa476efa2008-10-10 15:31:42977or on the command line. If a username has been specified (with
978<em>--smtp-user</em> or a <em>sendemail.smtpuser</em>), but no password has been
Junio C Hamano5e7f1312013-03-21 22:49:01979specified (with <em>--smtp-pass</em> or <em>sendemail.smtppass</em>), then
980a password is obtained using <em>git-credential</em>.</p></div>
Junio C Hamanoa476efa2008-10-10 15:31:42981</dd>
Junio C Hamano68cf15a2010-11-06 01:01:59982<dt class="hdlist1">
Junio C Hamanob4a9ede2009-04-08 07:36:32983--smtp-server=&lt;host&gt;
Junio C Hamano1a4e8412005-12-27 08:17:23984</dt>
985<dd>
986<p>
Junio C Hamanob63afff2007-05-01 03:05:55987 If set, specifies the outgoing SMTP server to use (e.g.
Junio C Hamano61525f92014-01-17 22:46:49988 <tt>smtp.example.com</tt> or a raw IP address). Alternatively it can
Junio C Hamanob63afff2007-05-01 03:05:55989 specify a full pathname of a sendmail-like program instead;
Junio C Hamano61525f92014-01-17 22:46:49990 the program must support the <tt>-i</tt> option. Default value can
Junio C Hamanob19b4f02006-10-29 20:47:22991 be specified by the <em>sendemail.smtpserver</em> configuration
Junio C Hamano61525f92014-01-17 22:46:49992 option; the built-in default is <tt>/usr/sbin/sendmail</tt> or
993 <tt>/usr/lib/sendmail</tt> if such program is available, or
994 <tt>localhost</tt> otherwise.
Junio C Hamano1a4e8412005-12-27 08:17:23995</p>
996</dd>
Junio C Hamano68cf15a2010-11-06 01:01:59997<dt class="hdlist1">
Junio C Hamanob4a9ede2009-04-08 07:36:32998--smtp-server-port=&lt;port&gt;
Junio C Hamano4fd58d42007-09-30 00:51:14999</dt>
1000<dd>
1001<p>
1002 Specifies a port different from the default port (SMTP
Junio C Hamanobacccda2009-08-03 08:07:121003 servers typically listen to smtp port 25, but may also listen to
1004 submission port 587, or the common SSL smtp port 465);
1005 symbolic port names (e.g. "submission" instead of 587)
Junio C Hamano3d141512009-06-01 01:22:401006 are also accepted. The port can also be set with the
1007 <em>sendemail.smtpserverport</em> configuration variable.
Junio C Hamanofce7c7e2008-07-02 03:06:381008</p>
1009</dd>
Junio C Hamano68cf15a2010-11-06 01:01:591010<dt class="hdlist1">
Junio C Hamano39c7a692010-10-27 06:08:541011--smtp-server-option=&lt;option&gt;
1012</dt>
1013<dd>
1014<p>
1015 If set, specifies the outgoing SMTP server option to use.
1016 Default value can be specified by the <em>sendemail.smtpserveroption</em>
1017 configuration option.
1018</p>
Junio C Hamano68cf15a2010-11-06 01:01:591019<div class="paragraph"><p>The --smtp-server-option option must be repeated for each option you want
Junio C Hamano39c7a692010-10-27 06:08:541020to pass to the server. Likewise, different lines in the configuration files
1021must be used for each option.</p></div>
1022</dd>
Junio C Hamano68cf15a2010-11-06 01:01:591023<dt class="hdlist1">
Junio C Hamano68522892007-09-06 01:33:411024--smtp-ssl
1025</dt>
1026<dd>
1027<p>
Junio C Hamanoa476efa2008-10-10 15:31:421028 Legacy alias for <em>--smtp-encryption ssl</em>.
Junio C Hamano68522892007-09-06 01:33:411029</p>
1030</dd>
Junio C Hamano68cf15a2010-11-06 01:01:591031<dt class="hdlist1">
Junio C Hamano58f587a2013-07-22 19:20:591032--smtp-ssl-cert-path
1033</dt>
1034<dd>
1035<p>
1036 Path to ca-certificates (either a directory or a single file).
1037 Set it to an empty string to disable certificate verification.
1038 Defaults to the value set to the <em>sendemail.smtpsslcertpath</em>
Junio C Hamano61525f92014-01-17 22:46:491039 configuration variable, if set, or <tt>/etc/ssl/certs</tt> otherwise.
Junio C Hamano58f587a2013-07-22 19:20:591040</p>
1041</dd>
1042<dt class="hdlist1">
Junio C Hamanob4a9ede2009-04-08 07:36:321043--smtp-user=&lt;user&gt;
Junio C Hamano86f75882006-02-06 02:27:231044</dt>
1045<dd>
1046<p>
Junio C Hamanoa476efa2008-10-10 15:31:421047 Username for SMTP-AUTH. Default is the value of <em>sendemail.smtpuser</em>;
1048 if a username is not specified (with <em>--smtp-user</em> or <em>sendemail.smtpuser</em>),
1049 then authentication is not attempted.
1050</p>
1051</dd>
Junio C Hamano6ebd8042012-02-28 00:17:401052<dt class="hdlist1">
1053--smtp-debug=0|1
1054</dt>
1055<dd>
1056<p>
1057 Enable (1) or disable (0) debug output. If enabled, SMTP
1058 commands and replies will be printed. Useful to debug TLS
1059 connection and authentication problems.
1060</p>
1061</dd>
Junio C Hamanoa476efa2008-10-10 15:31:421062</dl></div>
Junio C Hamano9d971152012-12-19 00:43:111063</div>
1064<div class="sect2">
1065<h3 id="_automating">Automating</h3>
Junio C Hamano68cf15a2010-11-06 01:01:591066<div class="dlist"><dl>
1067<dt class="hdlist1">
Junio C Hamano39c7a692010-10-27 06:08:541068--to-cmd=&lt;command&gt;
1069</dt>
1070<dd>
1071<p>
1072 Specify a command to execute once per patch file which
1073 should generate patch file specific "To:" entries.
1074 Output of this command must be single email address per line.
1075 Default is the value of <em>sendemail.tocmd</em> configuration value.
1076</p>
1077</dd>
Junio C Hamano68cf15a2010-11-06 01:01:591078<dt class="hdlist1">
Junio C Hamanob4a9ede2009-04-08 07:36:321079--cc-cmd=&lt;command&gt;
Junio C Hamanoa476efa2008-10-10 15:31:421080</dt>
1081<dd>
1082<p>
1083 Specify a command to execute once per patch file which
1084 should generate patch file specific "Cc:" entries.
1085 Output of this command must be single email address per line.
1086 Default is the value of <em>sendemail.cccmd</em> configuration value.
Junio C Hamano86f75882006-02-06 02:27:231087</p>
1088</dd>
Junio C Hamano68cf15a2010-11-06 01:01:591089<dt class="hdlist1">
Junio C Hamano25e7ba62009-06-14 01:03:221090--[no-]chain-reply-to
Junio C Hamanoc9154122006-02-15 02:22:061091</dt>
1092<dd>
1093<p>
Junio C Hamanoa476efa2008-10-10 15:31:421094 If this is set, each email will be sent as a reply to the previous
1095 email sent. If disabled with "--no-chain-reply-to", all emails after
1096 the first will be sent as replies to the first email sent. When using
1097 this, it is recommended that the first file given be an overview of the
Junio C Hamano096dde22009-12-26 23:14:111098 entire patch series. Disabled by default, but the <em>sendemail.chainreplyto</em>
1099 configuration variable can be used to enable it.
Junio C Hamanoa476efa2008-10-10 15:31:421100</p>
1101</dd>
Junio C Hamano68cf15a2010-11-06 01:01:591102<dt class="hdlist1">
Junio C Hamanob4a9ede2009-04-08 07:36:321103--identity=&lt;identity&gt;
Junio C Hamanoa476efa2008-10-10 15:31:421104</dt>
1105<dd>
1106<p>
1107 A configuration identity. When given, causes values in the
1108 <em>sendemail.&lt;identity&gt;</em> subsection to take precedence over
1109 values in the <em>sendemail</em> section. The default identity is
1110 the value of <em>sendemail.identity</em>.
1111</p>
1112</dd>
Junio C Hamano68cf15a2010-11-06 01:01:591113<dt class="hdlist1">
Junio C Hamanoa476efa2008-10-10 15:31:421114--[no-]signed-off-by-cc
1115</dt>
1116<dd>
1117<p>
1118 If this is set, add emails found in Signed-off-by: or Cc: lines to the
1119 cc list. Default is the value of <em>sendemail.signedoffbycc</em> configuration
1120 value; if that is unspecified, default to --signed-off-by-cc.
Junio C Hamanoc9154122006-02-15 02:22:061121</p>
1122</dd>
Junio C Hamano68cf15a2010-11-06 01:01:591123<dt class="hdlist1">
Junio C Hamanob4a9ede2009-04-08 07:36:321124--suppress-cc=&lt;category&gt;
Junio C Hamano9c334152008-02-12 03:18:521125</dt>
1126<dd>
1127<p>
1128 Specify an additional category of recipients to suppress the
Junio C Hamano0a235222009-03-06 08:21:091129 auto-cc of:
Junio C Hamano9c334152008-02-12 03:18:521130</p>
Junio C Hamano9d971152012-12-19 00:43:111131<div class="openblock">
1132<div class="content">
Junio C Hamano68cf15a2010-11-06 01:01:591133<div class="ulist"><ul>
Junio C Hamano0a235222009-03-06 08:21:091134<li>
1135<p>
1136<em>author</em> will avoid including the patch author
1137</p>
1138</li>
1139<li>
1140<p>
1141<em>self</em> will avoid including the sender
1142</p>
1143</li>
1144<li>
1145<p>
1146<em>cc</em> will avoid including anyone mentioned in Cc lines in the patch header
1147 except for self (use <em>self</em> for that).
1148</p>
1149</li>
1150<li>
1151<p>
Junio C Hamano0e88f3e2009-06-21 08:03:251152<em>bodycc</em> will avoid including anyone mentioned in Cc lines in the
Junio C Hamano0a235222009-03-06 08:21:091153 patch body (commit message) except for self (use <em>self</em> for that).
1154</p>
1155</li>
1156<li>
1157<p>
1158<em>sob</em> will avoid including anyone mentioned in Signed-off-by lines except
1159 for self (use <em>self</em> for that).
1160</p>
1161</li>
1162<li>
1163<p>
1164<em>cccmd</em> will avoid running the --cc-cmd.
1165</p>
1166</li>
1167<li>
1168<p>
Junio C Hamano0e88f3e2009-06-21 08:03:251169<em>body</em> is equivalent to <em>sob</em> + <em>bodycc</em>
Junio C Hamano0a235222009-03-06 08:21:091170</p>
1171</li>
1172<li>
1173<p>
1174<em>all</em> will suppress all auto cc values.
1175</p>
1176</li>
1177</ul></div>
Junio C Hamano9d971152012-12-19 00:43:111178</div></div>
Junio C Hamano68cf15a2010-11-06 01:01:591179<div class="paragraph"><p>Default is the value of <em>sendemail.suppresscc</em> configuration value; if
Junio C Hamano0a235222009-03-06 08:21:091180that is unspecified, default to <em>self</em> if --suppress-from is
1181specified, as well as <em>body</em> if --no-signed-off-cc is specified.</p></div>
Junio C Hamano9c334152008-02-12 03:18:521182</dd>
Junio C Hamano68cf15a2010-11-06 01:01:591183<dt class="hdlist1">
Junio C Hamanoa476efa2008-10-10 15:31:421184--[no-]suppress-from
Junio C Hamanoeb415992008-06-08 22:49:471185</dt>
Junio C Hamanoa476efa2008-10-10 15:31:421186<dd>
1187<p>
1188 If this is set, do not add the From: address to the cc: list.
1189 Default is the value of <em>sendemail.suppressfrom</em> configuration
1190 value; if that is unspecified, default to --no-suppress-from.
1191</p>
1192</dd>
Junio C Hamano68cf15a2010-11-06 01:01:591193<dt class="hdlist1">
Junio C Hamanoa476efa2008-10-10 15:31:421194--[no-]thread
Junio C Hamanoddc5ad42007-06-27 07:14:521195</dt>
1196<dd>
1197<p>
Junio C Hamano1bbd0f42009-07-23 06:20:291198 If this is set, the In-Reply-To and References headers will be
1199 added to each email sent. Whether each mail refers to the
Junio C Hamano61525f92014-01-17 22:46:491200 previous email (<tt>deep</tt> threading per <em>git format-patch</em>
1201 wording) or to the first email (<tt>shallow</tt> threading) is
Junio C Hamano1bbd0f42009-07-23 06:20:291202 governed by "--[no-]chain-reply-to".
Junio C Hamanoddc5ad42007-06-27 07:14:521203</p>
Junio C Hamano68cf15a2010-11-06 01:01:591204<div class="paragraph"><p>If disabled with "--no-thread", those headers will not be added
Junio C Hamano1bbd0f42009-07-23 06:20:291205(unless specified with --in-reply-to). Default is the value of the
1206<em>sendemail.thread</em> configuration value; if that is unspecified,
1207default to --thread.</p></div>
Junio C Hamano68cf15a2010-11-06 01:01:591208<div class="paragraph"><p>It is up to the user to ensure that no In-Reply-To header already
Junio C Hamano1bbd0f42009-07-23 06:20:291209exists when <em>git send-email</em> is asked to add it (especially note that
1210<em>git format-patch</em> can be configured to do the threading itself).
1211Failure to do so may not produce the expected result in the
Junio C Hamano68cf15a2010-11-06 01:01:591212recipient&#8217;s MUA.</p></div>
Junio C Hamanoddc5ad42007-06-27 07:14:521213</dd>
Junio C Hamanoa476efa2008-10-10 15:31:421214</dl></div>
Junio C Hamano9d971152012-12-19 00:43:111215</div>
1216<div class="sect2">
1217<h3 id="_administering">Administering</h3>
Junio C Hamano68cf15a2010-11-06 01:01:591218<div class="dlist"><dl>
1219<dt class="hdlist1">
Junio C Hamanob4a9ede2009-04-08 07:36:321220--confirm=&lt;mode&gt;
Junio C Hamano0a235222009-03-06 08:21:091221</dt>
1222<dd>
1223<p>
1224 Confirm just before sending:
1225</p>
Junio C Hamano9d971152012-12-19 00:43:111226<div class="openblock">
1227<div class="content">
Junio C Hamano68cf15a2010-11-06 01:01:591228<div class="ulist"><ul>
Junio C Hamano0a235222009-03-06 08:21:091229<li>
1230<p>
1231<em>always</em> will always confirm before sending
1232</p>
1233</li>
1234<li>
1235<p>
1236<em>never</em> will never confirm before sending
1237</p>
1238</li>
1239<li>
1240<p>
1241<em>cc</em> will confirm before sending when send-email has automatically
1242 added addresses from the patch to the Cc list
1243</p>
1244</li>
1245<li>
1246<p>
1247<em>compose</em> will confirm before sending the first message when using --compose.
1248</p>
1249</li>
1250<li>
1251<p>
1252<em>auto</em> is equivalent to <em>cc</em> + <em>compose</em>
1253</p>
1254</li>
1255</ul></div>
Junio C Hamano9d971152012-12-19 00:43:111256</div></div>
Junio C Hamano68cf15a2010-11-06 01:01:591257<div class="paragraph"><p>Default is the value of <em>sendemail.confirm</em> configuration value; if that
Junio C Hamano0a235222009-03-06 08:21:091258is unspecified, default to <em>auto</em> unless any of the suppress options
1259have been specified, in which case default to <em>compose</em>.</p></div>
1260</dd>
Junio C Hamano68cf15a2010-11-06 01:01:591261<dt class="hdlist1">
Junio C Hamano45889b42007-04-26 07:20:041262--dry-run
1263</dt>
1264<dd>
1265<p>
1266 Do everything except actually send the emails.
1267</p>
1268</dd>
Junio C Hamano68cf15a2010-11-06 01:01:591269<dt class="hdlist1">
Junio C Hamano3d141512009-06-01 01:22:401270--[no-]format-patch
1271</dt>
1272<dd>
1273<p>
1274 When an argument may be understood either as a reference or as a file name,
1275 choose to understand it as a format-patch argument (<em>--format-patch</em>)
1276 or as a file name (<em>--no-format-patch</em>). By default, when such a conflict
1277 occurs, git send-email will fail.
1278</p>
1279</dd>
Junio C Hamano68cf15a2010-11-06 01:01:591280<dt class="hdlist1">
Junio C Hamanoa476efa2008-10-10 15:31:421281--quiet
Junio C Hamano45889b42007-04-26 07:20:041282</dt>
1283<dd>
1284<p>
Junio C Hamanoa476efa2008-10-10 15:31:421285 Make git-send-email less verbose. One line per email should be
1286 all that is output.
Junio C Hamano45889b42007-04-26 07:20:041287</p>
1288</dd>
Junio C Hamano68cf15a2010-11-06 01:01:591289<dt class="hdlist1">
Junio C Hamanoa476efa2008-10-10 15:31:421290--[no-]validate
Junio C Hamano86f75882006-02-06 02:27:231291</dt>
1292<dd>
1293<p>
Junio C Hamanoa476efa2008-10-10 15:31:421294 Perform sanity checks on patches.
1295 Currently, validation means the following:
Junio C Hamano86f75882006-02-06 02:27:231296</p>
Junio C Hamano9d971152012-12-19 00:43:111297<div class="openblock">
1298<div class="content">
Junio C Hamano68cf15a2010-11-06 01:01:591299<div class="ulist"><ul>
Junio C Hamano2fa431b2008-12-28 01:26:231300<li>
1301<p>
1302Warn of patches that contain lines longer than 998 characters; this
Junio C Hamano68cf15a2010-11-06 01:01:591303 is due to SMTP limits as described by <a href="http://www.ietf.org/rfc/rfc2821.txt">http://www.ietf.org/rfc/rfc2821.txt</a>.
Junio C Hamano2fa431b2008-12-28 01:26:231304</p>
1305</li>
1306</ul></div>
Junio C Hamano9d971152012-12-19 00:43:111307</div></div>
Junio C Hamano68cf15a2010-11-06 01:01:591308<div class="paragraph"><p>Default is the value of <em>sendemail.validate</em>; if this is not set,
Junio C Hamano2fa431b2008-12-28 01:26:231309default to <em>--validate</em>.</p></div>
Junio C Hamano610d1762008-11-28 06:27:131310</dd>
Junio C Hamanocf29d332010-12-11 07:28:561311<dt class="hdlist1">
1312--force
1313</dt>
1314<dd>
1315<p>
1316 Send emails even if safety checks would prevent it.
1317</p>
1318</dd>
Junio C Hamano9e395072008-07-31 22:11:211319</dl></div>
Junio C Hamano1a4e8412005-12-27 08:17:231320</div>
Junio C Hamano9d971152012-12-19 00:43:111321</div>
1322</div>
1323<div class="sect1">
Junio C Hamano9e395072008-07-31 22:11:211324<h2 id="_configuration">CONFIGURATION</h2>
Junio C Hamanoc51fede2007-03-12 07:29:201325<div class="sectionbody">
Junio C Hamano68cf15a2010-11-06 01:01:591326<div class="dlist"><dl>
1327<dt class="hdlist1">
Junio C Hamanoc51fede2007-03-12 07:29:201328sendemail.aliasesfile
1329</dt>
1330<dd>
1331<p>
1332 To avoid typing long email addresses, point this to one or more
1333 email aliases files. You must also supply <em>sendemail.aliasfiletype</em>.
1334</p>
1335</dd>
Junio C Hamano68cf15a2010-11-06 01:01:591336<dt class="hdlist1">
Junio C Hamanoc51fede2007-03-12 07:29:201337sendemail.aliasfiletype
1338</dt>
1339<dd>
1340<p>
1341 Format of the file(s) specified in sendemail.aliasesfile. Must be
Junio C Hamano07738342009-04-23 03:06:561342 one of <em>mutt</em>, <em>mailrc</em>, <em>pine</em>, <em>elm</em>, or <em>gnus</em>.
Junio C Hamanoc51fede2007-03-12 07:29:201343</p>
1344</dd>
Junio C Hamano68cf15a2010-11-06 01:01:591345<dt class="hdlist1">
Junio C Hamano610d1762008-11-28 06:27:131346sendemail.multiedit
1347</dt>
1348<dd>
1349<p>
1350 If true (default), a single editor instance will be spawned to edit
1351 files you have to edit (patches when <em>--annotate</em> is used, and the
1352 summary when <em>--compose</em> is used). If false, files will be edited one
1353 after the other, spawning a new editor each time.
1354</p>
1355</dd>
Junio C Hamano68cf15a2010-11-06 01:01:591356<dt class="hdlist1">
Junio C Hamano0a235222009-03-06 08:21:091357sendemail.confirm
1358</dt>
1359<dd>
1360<p>
1361 Sets the default for whether to confirm before sending. Must be
1362 one of <em>always</em>, <em>never</em>, <em>cc</em>, <em>compose</em>, or <em>auto</em>. See <em>--confirm</em>
1363 in the previous section for the meaning of these values.
1364</p>
1365</dd>
Junio C Hamano9e395072008-07-31 22:11:211366</dl></div>
Junio C Hamanoc51fede2007-03-12 07:29:201367</div>
Junio C Hamano9d971152012-12-19 00:43:111368</div>
1369<div class="sect1">
Junio C Hamanob77f8192011-05-05 01:30:381370<h2 id="_example">EXAMPLE</h2>
Junio C Hamanofacbe512010-05-05 02:42:361371<div class="sectionbody">
Junio C Hamano9d971152012-12-19 00:43:111372<div class="sect2">
1373<h3 id="_use_gmail_as_the_smtp_server">Use gmail as the smtp server</h3>
Junio C Hamanob77f8192011-05-05 01:30:381374<div class="paragraph"><p>To use <em>git send-email</em> to send your patches through the GMail SMTP server,
1375edit ~/.gitconfig to specify your account settings:</p></div>
Junio C Hamanofacbe512010-05-05 02:42:361376<div class="literalblock">
1377<div class="content">
Junio C Hamano61525f92014-01-17 22:46:491378<pre><tt>[sendemail]
Junio C Hamanofacbe512010-05-05 02:42:361379 smtpencryption = tls
1380 smtpserver = smtp.gmail.com
1381 smtpuser = yourname@gmail.com
Junio C Hamano61525f92014-01-17 22:46:491382 smtpserverport = 587</tt></pre>
Junio C Hamanofacbe512010-05-05 02:42:361383</div></div>
Junio C Hamanob77f8192011-05-05 01:30:381384<div class="paragraph"><p>Once your commits are ready to be sent to the mailing list, run the
1385following commands:</p></div>
1386<div class="literalblock">
1387<div class="content">
Junio C Hamano61525f92014-01-17 22:46:491388<pre><tt>$ git format-patch --cover-letter -M origin/master -o outgoing/
Junio C Hamanob77f8192011-05-05 01:30:381389$ edit outgoing/0000-*
Junio C Hamano61525f92014-01-17 22:46:491390$ git send-email outgoing/*</tt></pre>
Junio C Hamanob77f8192011-05-05 01:30:381391</div></div>
Junio C Hamano68cf15a2010-11-06 01:01:591392<div class="paragraph"><p>Note: the following perl modules are required
Junio C Hamanofacbe512010-05-05 02:42:361393 Net::SMTP::SSL, MIME::Base64 and Authen::SASL</p></div>
1394</div>
Junio C Hamano9d971152012-12-19 00:43:111395</div>
1396</div>
1397<div class="sect1">
Junio C Hamanob77f8192011-05-05 01:30:381398<h2 id="_see_also">SEE ALSO</h2>
1399<div class="sectionbody">
Junio C Hamanoa28a9202012-06-21 07:08:231400<div class="paragraph"><p><a href="git-format-patch.html">git-format-patch(1)</a>, <a href="git-imap-send.html">git-imap-send(1)</a>, mbox(5)</p></div>
Junio C Hamanob77f8192011-05-05 01:30:381401</div>
Junio C Hamano9d971152012-12-19 00:43:111402</div>
1403<div class="sect1">
Junio C Hamano9e395072008-07-31 22:11:211404<h2 id="_git">GIT</h2>
Junio C Hamano1a4e8412005-12-27 08:17:231405<div class="sectionbody">
Junio C Hamanoa28a9202012-06-21 07:08:231406<div class="paragraph"><p>Part of the <a href="git.html">git(1)</a> suite</p></div>
Junio C Hamano1a4e8412005-12-27 08:17:231407</div>
Junio C Hamano7bd050f2011-09-22 06:32:221408</div>
Junio C Hamano9d971152012-12-19 00:43:111409</div>
Junio C Hamano7bd050f2011-09-22 06:32:221410<div id="footnotes"><hr /></div>
Junio C Hamano1a4e8412005-12-27 08:17:231411<div id="footer">
1412<div id="footer-text">
Junio C Hamano683a8612013-08-23 20:50:091413Last updated 2013-08-20 08:40:27 PDT
Junio C Hamano1a4e8412005-12-27 08:17:231414</div>
1415</div>
1416</body>
1417</html>