blob: 0e671fcc8f24ba51c4743da64768e0d2c31b89c3 [file] [log] [blame]
Junio C Hamano883d8432006-04-06 23:15:391<!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 Hamano103b5722011-01-31 05:03:457<title>git-imap-send(1)</title>
Junio C Hamano883d8432006-04-06 23:15:398<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 Hamano883d8432006-04-06 23:15:3924}
25
26body {
27 margin: 1em 5% 1em 5%;
28}
29
Junio C Hamanoba4b9282008-07-06 05:20:3130a {
31 color: blue;
32 text-decoration: underline;
33}
34a:visited {
35 color: fuchsia;
36}
Junio C Hamano883d8432006-04-06 23:15:3937
38em {
39 font-style: italic;
Junio C Hamano103b5722011-01-31 05:03:4540 color: navy;
Junio C Hamano883d8432006-04-06 23:15:3941}
42
43strong {
44 font-weight: bold;
Junio C Hamano103b5722011-01-31 05:03:4545 color: #083194;
Junio C Hamano883d8432006-04-06 23:15:3946}
47
Junio C Hamano883d8432006-04-06 23:15:3948h1, h2, h3, h4, h5, h6 {
49 color: #527bbd;
Junio C Hamano883d8432006-04-06 23:15:3950 margin-top: 1.2em;
51 margin-bottom: 0.5em;
52 line-height: 1.3;
53}
54
Junio C Hamanoba4b9282008-07-06 05:20:3155h1, h2, h3 {
Junio C Hamano883d8432006-04-06 23:15:3956 border-bottom: 2px solid silver;
57}
58h2 {
Junio C Hamano883d8432006-04-06 23:15:3959 padding-top: 0.5em;
60}
Junio C Hamanoba4b9282008-07-06 05:20:3161h3 {
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 Hamano883d8432006-04-06 23:15:3970
71div.sectionbody {
Junio C Hamano883d8432006-04-06 23:15:3972 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 Hamano103b5722011-01-31 05:03:4584ul, 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 Hamano103b5722011-01-31 05:03:4589
Junio C Hamano61525f92014-01-17 22:46:4990pre {
Junio C Hamano883d8432006-04-06 23:15:3991 padding: 0;
92 margin: 0;
93}
94
Junio C Hamano9d971152012-12-19 00:43:1195#author {
Junio C Hamano883d8432006-04-06 23:15:3996 color: #527bbd;
Junio C Hamano883d8432006-04-06 23:15:3997 font-weight: bold;
Junio C Hamanoba4b9282008-07-06 05:20:3198 font-size: 1.1em;
Junio C Hamano883d8432006-04-06 23:15:3999}
Junio C Hamano9d971152012-12-19 00:43:11100#email {
Junio C Hamano883d8432006-04-06 23:15:39101}
Junio C Hamano9d971152012-12-19 00:43:11102#revnumber, #revdate, #revremark {
Junio C Hamano883d8432006-04-06 23:15:39103}
104
Junio C Hamano9d971152012-12-19 00:43:11105#footer {
Junio C Hamano883d8432006-04-06 23:15:39106 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 Hamano883d8432006-04-06 23:15:39112 float: left;
113 padding-bottom: 0.5em;
114}
Junio C Hamano9d971152012-12-19 00:43:11115#footer-badges {
Junio C Hamano883d8432006-04-06 23:15:39116 float: right;
117 padding-bottom: 0.5em;
118}
119
Junio C Hamano9d971152012-12-19 00:43:11120#preamble {
Junio C Hamano103b5722011-01-31 05:03:45121 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 Hamano883d8432006-04-06 23:15:39125div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
126div.admonitionblock {
Junio C Hamano7bd050f2011-09-22 06:32:22127 margin-top: 1.0em;
Junio C Hamano883d8432006-04-06 23:15:39128 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 Hamano883d8432006-04-06 23:15:39135}
136
137div.content { /* Block element content. */
138 padding: 0;
139}
140
141/* Block element titles. */
142div.title, caption.title {
Junio C Hamano103b5722011-01-31 05:03:45143 color: #527bbd;
Junio C Hamano883d8432006-04-06 23:15:39144 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 Hamano883d8432006-04-06 23:15:39167 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 Hamano883d8432006-04-06 23:15:39174 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 Hamano103b5722011-01-31 05:03:45180 margin-right: 10%;
Junio C Hamano9d971152012-12-19 00:43:11181 border-left: 5px solid #f0f0f0;
182 color: #888;
Junio C Hamano883d8432006-04-06 23:15:39183}
Junio C Hamano7bd050f2011-09-22 06:32:22184
Junio C Hamano103b5722011-01-31 05:03:45185div.quoteblock > div.attribution {
186 padding-top: 0.5em;
Junio C Hamano883d8432006-04-06 23:15:39187 text-align: right;
188}
Junio C Hamano103b5722011-01-31 05:03:45189
Junio C Hamano9d971152012-12-19 00:43:11190div.verseblock > pre.content {
191 font-family: inherit;
192 font-size: inherit;
Junio C Hamano103b5722011-01-31 05:03:45193}
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 Hamanoba4b9282008-07-06 05:20:31199div.verseblock + div.attribution {
200 text-align: left;
201}
Junio C Hamano883d8432006-04-06 23:15:39202
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 Hamano883d8432006-04-06 23:15:39214}
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 Hamano883d8432006-04-06 23:15:39219}
220
Junio C Hamano883d8432006-04-06 23:15:39221div.imageblock div.content { padding-left: 0; }
Junio C Hamano883d8432006-04-06 23:15:39222span.image img { border-style: none; }
Junio C Hamano103b5722011-01-31 05:03:45223a.image:visited { color: white; }
Junio C Hamano883d8432006-04-06 23:15:39224
225dl {
226 margin-top: 0.8em;
227 margin-bottom: 0.8em;
228}
229dt {
230 margin-top: 0.5em;
231 margin-bottom: 0;
Junio C Hamano103b5722011-01-31 05:03:45232 font-style: normal;
233 color: navy;
Junio C Hamano883d8432006-04-06 23:15:39234}
235dd > *:first-child {
Junio C Hamano103b5722011-01-31 05:03:45236 margin-top: 0.1em;
Junio C Hamano883d8432006-04-06 23:15:39237}
238
239ul, ol {
240 list-style-position: outside;
241}
Junio C Hamano103b5722011-01-31 05:03:45242ol.arabic {
243 list-style-type: decimal;
244}
245ol.loweralpha {
Junio C Hamano883d8432006-04-06 23:15:39246 list-style-type: lower-alpha;
247}
Junio C Hamano103b5722011-01-31 05:03:45248ol.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 Hamano883d8432006-04-06 23:15:39264
Junio C Hamano883d8432006-04-06 23:15:39265tfoot {
266 font-weight: bold;
267}
Junio C Hamano103b5722011-01-31 05:03:45268td > div.verse {
269 white-space: pre;
270}
Junio C Hamano103b5722011-01-31 05:03:45271
272div.hdlist {
Junio C Hamano883d8432006-04-06 23:15:39273 margin-top: 0.8em;
274 margin-bottom: 0.8em;
275}
Junio C Hamano103b5722011-01-31 05:03:45276div.hdlist tr {
277 padding-bottom: 15px;
Junio C Hamanoba4b9282008-07-06 05:20:31278}
Junio C Hamano103b5722011-01-31 05:03:45279dt.hdlist1.strong, td.hdlist1.strong {
280 font-weight: bold;
281}
282td.hdlist1 {
Junio C Hamano883d8432006-04-06 23:15:39283 vertical-align: top;
Junio C Hamano103b5722011-01-31 05:03:45284 font-style: normal;
Junio C Hamano883d8432006-04-06 23:15:39285 padding-right: 0.8em;
Junio C Hamano103b5722011-01-31 05:03:45286 color: navy;
Junio C Hamano883d8432006-04-06 23:15:39287}
Junio C Hamano103b5722011-01-31 05:03:45288td.hdlist2 {
Junio C Hamano883d8432006-04-06 23:15:39289 vertical-align: top;
290}
Junio C Hamano103b5722011-01-31 05:03:45291div.hdlist.compact tr {
292 margin: 0;
293 padding-bottom: 0;
294}
295
296.comment {
297 background: yellow;
298}
Junio C Hamano883d8432006-04-06 23:15:39299
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 Hamano883d8432006-04-06 23:15:39334}
Junio C Hamanoba4b9282008-07-06 05:20:31335
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 Hamanoba4b9282008-07-06 05:20:31345 color: #527bbd;
Junio C Hamanoba4b9282008-07-06 05:20:31346 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 Hamanoba4b9282008-07-06 05:20:31353 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 Hamano103b5722011-01-31 05:03:45525 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 Hamano103b5722011-01-31 05:03:45531 border-style: none;
532}
Junio C Hamano9d971152012-12-19 00:43:11533body.manpage div.sectionbody {
534 margin-left: 3em;
Junio C Hamano103b5722011-01-31 05:03:45535}
536
537@media print {
Junio C Hamano9d971152012-12-19 00:43:11538 body.manpage div#toc { display: none; }
Junio C Hamano103b5722011-01-31 05:03:45539}
Junio C Hamano883d8432006-04-06 23:15:39540</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 Hamano883d8432006-04-06 23:15:39735</head>
Junio C Hamano9d971152012-12-19 00:43:11736<body class="manpage">
Junio C Hamano883d8432006-04-06 23:15:39737<div id="header">
738<h1>
739git-imap-send(1) Manual Page
740</h1>
741<h2>NAME</h2>
742<div class="sectionbody">
743<p>git-imap-send -
Junio C Hamano5cf43ca2008-08-20 09:14:14744 Send a collection of patches from stdin to an IMAP folder
Junio C Hamano883d8432006-04-06 23:15:39745</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 Hamano103b5722011-01-31 05:03:45750<h2 id="_synopsis">SYNOPSIS</h2>
Junio C Hamano883d8432006-04-06 23:15:39751<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 imap-send</em></pre>
754<div class="attribution">
Junio C Hamano15567bc2011-07-23 00:51:59755</div></div>
Junio C Hamano883d8432006-04-06 23:15:39756</div>
Junio C Hamano9d971152012-12-19 00:43:11757</div>
758<div class="sect1">
Junio C Hamanoba4b9282008-07-06 05:20:31759<h2 id="_description">DESCRIPTION</h2>
Junio C Hamano883d8432006-04-06 23:15:39760<div class="sectionbody">
Junio C Hamano103b5722011-01-31 05:03:45761<div class="paragraph"><p>This command uploads a mailbox generated with <em>git format-patch</em>
Junio C Hamano5cf43ca2008-08-20 09:14:14762into an IMAP drafts folder. This allows patches to be sent as
763other email is when using mail clients that cannot read mailbox
Junio C Hamanoef8fbf92010-04-04 19:12:02764files directly. The command also works with any general mailbox
765in which emails have the fields "From", "Date", and "Subject" in
766that order.</p></div>
Junio C Hamano103b5722011-01-31 05:03:45767<div class="paragraph"><p>Typical usage is something like:</p></div>
768<div class="paragraph"><p>git format-patch --signoff --stdout --attach origin | git imap-send</p></div>
Junio C Hamano883d8432006-04-06 23:15:39769</div>
Junio C Hamano9d971152012-12-19 00:43:11770</div>
771<div class="sect1">
Junio C Hamanoba4b9282008-07-06 05:20:31772<h2 id="_configuration">CONFIGURATION</h2>
Junio C Hamano883d8432006-04-06 23:15:39773<div class="sectionbody">
Junio C Hamano103b5722011-01-31 05:03:45774<div class="paragraph"><p>To use the tool, imap.folder and either imap.tunnel or imap.host must be set
Junio C Hamano5cf43ca2008-08-20 09:14:14775to appropriate values.</p></div>
Junio C Hamano9d971152012-12-19 00:43:11776<div class="sect2">
777<h3 id="_variables">Variables</h3>
Junio C Hamano103b5722011-01-31 05:03:45778<div class="dlist"><dl>
779<dt class="hdlist1">
Junio C Hamano5cf43ca2008-08-20 09:14:14780imap.folder
781</dt>
782<dd>
783<p>
784 The folder to drop the mails into, which is typically the Drafts
785 folder. For example: "INBOX.Drafts", "INBOX/Drafts" or
786 "[Gmail]/Drafts". Required to use imap-send.
787</p>
788</dd>
Junio C Hamano103b5722011-01-31 05:03:45789<dt class="hdlist1">
Junio C Hamano5cf43ca2008-08-20 09:14:14790imap.tunnel
791</dt>
792<dd>
793<p>
794 Command used to setup a tunnel to the IMAP server through which
795 commands will be piped instead of using a direct network connection
796 to the server. Required when imap.host is not set to use imap-send.
797</p>
798</dd>
Junio C Hamano103b5722011-01-31 05:03:45799<dt class="hdlist1">
Junio C Hamano5cf43ca2008-08-20 09:14:14800imap.host
801</dt>
802<dd>
803<p>
Junio C Hamano61525f92014-01-17 22:46:49804 A URL identifying the server. Use a <tt>imap://</tt> prefix for non-secure
805 connections and a <tt>imaps://</tt> prefix for secure connections.
Junio C Hamano5cf43ca2008-08-20 09:14:14806 Ignored when imap.tunnel is set, but required to use imap-send
807 otherwise.
808</p>
809</dd>
Junio C Hamano103b5722011-01-31 05:03:45810<dt class="hdlist1">
Junio C Hamano5cf43ca2008-08-20 09:14:14811imap.user
812</dt>
813<dd>
814<p>
815 The username to use when logging in to the server.
816</p>
817</dd>
Junio C Hamano103b5722011-01-31 05:03:45818<dt class="hdlist1">
Junio C Hamano4cfa5362009-04-18 23:01:01819imap.pass
Junio C Hamano5cf43ca2008-08-20 09:14:14820</dt>
821<dd>
822<p>
823 The password to use when logging in to the server.
824</p>
825</dd>
Junio C Hamano103b5722011-01-31 05:03:45826<dt class="hdlist1">
Junio C Hamano5cf43ca2008-08-20 09:14:14827imap.port
828</dt>
829<dd>
830<p>
831 An integer port number to connect to on the server.
832 Defaults to 143 for imap:// hosts and 993 for imaps:// hosts.
833 Ignored when imap.tunnel is set.
834</p>
835</dd>
Junio C Hamano103b5722011-01-31 05:03:45836<dt class="hdlist1">
Junio C Hamano5cf43ca2008-08-20 09:14:14837imap.sslverify
838</dt>
839<dd>
840<p>
841 A boolean to enable/disable verification of the server certificate
Junio C Hamano61525f92014-01-17 22:46:49842 used by the SSL/TLS connection. Default is <tt>true</tt>. Ignored when
Junio C Hamano5cf43ca2008-08-20 09:14:14843 imap.tunnel is set.
844</p>
845</dd>
Junio C Hamano103b5722011-01-31 05:03:45846<dt class="hdlist1">
Junio C Hamano0a235222009-03-06 08:21:09847imap.preformattedHTML
848</dt>
849<dd>
850<p>
851 A boolean to enable/disable the use of html encoding when sending
852 a patch. An html encoded patch will be bracketed with &lt;pre&gt;
853 and have a content type of text/html. Ironically, enabling this
854 option causes Thunderbird to send the patch as a plain/text,
Junio C Hamano61525f92014-01-17 22:46:49855 format=fixed email. Default is <tt>false</tt>.
Junio C Hamano0a235222009-03-06 08:21:09856</p>
857</dd>
Junio C Hamano103b5722011-01-31 05:03:45858<dt class="hdlist1">
Junio C Hamano4aa0bcc2010-03-03 05:13:12859imap.authMethod
860</dt>
861<dd>
862<p>
863 Specify authenticate method for authentication with IMAP server.
864 Current supported method is <em>CRAM-MD5</em> only.
865</p>
866</dd>
Junio C Hamano5cf43ca2008-08-20 09:14:14867</dl></div>
Junio C Hamano9d971152012-12-19 00:43:11868</div>
869<div class="sect2">
870<h3 id="_examples">Examples</h3>
Junio C Hamano103b5722011-01-31 05:03:45871<div class="paragraph"><p>Using tunnel mode:</p></div>
Junio C Hamano883d8432006-04-06 23:15:39872<div class="literalblock">
873<div class="content">
Junio C Hamano61525f92014-01-17 22:46:49874<pre><tt>[imap]
Junio C Hamano5cf43ca2008-08-20 09:14:14875 folder = "INBOX.Drafts"
Junio C Hamano61525f92014-01-17 22:46:49876 tunnel = "ssh -q -C user@example.com /usr/bin/imapd ./Maildir 2&gt; /dev/null"</tt></pre>
Junio C Hamano5cf43ca2008-08-20 09:14:14877</div></div>
Junio C Hamano103b5722011-01-31 05:03:45878<div class="paragraph"><p>Using direct mode:</p></div>
Junio C Hamano5cf43ca2008-08-20 09:14:14879<div class="literalblock">
880<div class="content">
Junio C Hamano61525f92014-01-17 22:46:49881<pre><tt>[imap]
Junio C Hamano5cf43ca2008-08-20 09:14:14882 folder = "INBOX.Drafts"
883 host = imap://imap.example.com
884 user = bob
Junio C Hamano61525f92014-01-17 22:46:49885 pass = p4ssw0rd</tt></pre>
Junio C Hamano5cf43ca2008-08-20 09:14:14886</div></div>
Junio C Hamano103b5722011-01-31 05:03:45887<div class="paragraph"><p>Using direct mode with SSL:</p></div>
Junio C Hamano5cf43ca2008-08-20 09:14:14888<div class="literalblock">
889<div class="content">
Junio C Hamano61525f92014-01-17 22:46:49890<pre><tt>[imap]
Junio C Hamano5cf43ca2008-08-20 09:14:14891 folder = "INBOX.Drafts"
892 host = imaps://imap.example.com
893 user = bob
894 pass = p4ssw0rd
895 port = 123
Junio C Hamano61525f92014-01-17 22:46:49896 sslverify = false</tt></pre>
Junio C Hamano883d8432006-04-06 23:15:39897</div></div>
898</div>
Junio C Hamano9d971152012-12-19 00:43:11899</div>
900</div>
901<div class="sect1">
Junio C Hamanob77f8192011-05-05 01:30:38902<h2 id="_example">EXAMPLE</h2>
903<div class="sectionbody">
904<div class="paragraph"><p>To submit patches using GMail&#8217;s IMAP interface, first, edit your ~/.gitconfig
905to specify your account settings:</p></div>
906<div class="listingblock">
907<div class="content">
Junio C Hamano61525f92014-01-17 22:46:49908<pre><tt>[imap]
Junio C Hamanob77f8192011-05-05 01:30:38909 folder = "[Gmail]/Drafts"
910 host = imaps://imap.gmail.com
911 user = user@gmail.com
912 port = 993
Junio C Hamano61525f92014-01-17 22:46:49913 sslverify = false</tt></pre>
Junio C Hamanob77f8192011-05-05 01:30:38914</div></div>
915<div class="paragraph"><p>You might need to instead use: folder = "[Google Mail]/Drafts" if you get an error
916that the "Folder doesn&#8217;t exist".</p></div>
917<div class="paragraph"><p>Once the commits are ready to be sent, run the following command:</p></div>
918<div class="literalblock">
919<div class="content">
Junio C Hamano61525f92014-01-17 22:46:49920<pre><tt>$ git format-patch --cover-letter -M --stdout origin/master | git imap-send</tt></pre>
Junio C Hamanob77f8192011-05-05 01:30:38921</div></div>
922<div class="paragraph"><p>Just make sure to disable line wrapping in the email client (GMail&#8217;s web
923interface will wrap lines no matter what, so you need to use a real
924IMAP client).</p></div>
925</div>
Junio C Hamano9d971152012-12-19 00:43:11926</div>
927<div class="sect1">
Junio C Hamanoec3b9a72009-02-13 08:45:52928<h2 id="_caution">CAUTION</h2>
929<div class="sectionbody">
Junio C Hamano103b5722011-01-31 05:03:45930<div class="paragraph"><p>It is still your responsibility to make sure that the email message
Junio C Hamanoec3b9a72009-02-13 08:45:52931sent by your email program meets the standards of your project.
932Many projects do not like patches to be attached. Some mail
933agents will transform patches (e.g. wrap lines, send them as
934format=flowed) in ways that make them fail. You will get angry
Junio C Hamano103b5722011-01-31 05:03:45935flames ridiculing you if you don&#8217;t check this.</p></div>
936<div class="paragraph"><p>Thunderbird in particular is known to be problematic. Thunderbird
Junio C Hamanoec3b9a72009-02-13 08:45:52937users may wish to visit this web page for more information:
Junio C Hamano103b5722011-01-31 05:03:45938 <a href="http://kb.mozillazine.org/Plain_text_e-mail_-_Thunderbird#Completely_plain_email">http://kb.mozillazine.org/Plain_text_e-mail_-_Thunderbird#Completely_plain_email</a></p></div>
Junio C Hamanoec3b9a72009-02-13 08:45:52939</div>
Junio C Hamano9d971152012-12-19 00:43:11940</div>
941<div class="sect1">
Junio C Hamanob77f8192011-05-05 01:30:38942<h2 id="_see_also">SEE ALSO</h2>
943<div class="sectionbody">
Junio C Hamanoa28a9202012-06-21 07:08:23944<div class="paragraph"><p><a href="git-format-patch.html">git-format-patch(1)</a>, <a href="git-send-email.html">git-send-email(1)</a>, mbox(5)</p></div>
Junio C Hamanob77f8192011-05-05 01:30:38945</div>
Junio C Hamano9d971152012-12-19 00:43:11946</div>
947<div class="sect1">
Junio C Hamanoba4b9282008-07-06 05:20:31948<h2 id="_git">GIT</h2>
Junio C Hamano883d8432006-04-06 23:15:39949<div class="sectionbody">
Junio C Hamanoa28a9202012-06-21 07:08:23950<div class="paragraph"><p>Part of the <a href="git.html">git(1)</a> suite</p></div>
Junio C Hamano883d8432006-04-06 23:15:39951</div>
Junio C Hamano7bd050f2011-09-22 06:32:22952</div>
Junio C Hamano9d971152012-12-19 00:43:11953</div>
Junio C Hamano7bd050f2011-09-22 06:32:22954<div id="footnotes"><hr /></div>
Junio C Hamano883d8432006-04-06 23:15:39955<div id="footer">
956<div id="footer-text">
Junio C Hamano683a8612013-08-23 20:50:09957Last updated 2013-08-20 08:40:27 PDT
Junio C Hamano883d8432006-04-06 23:15:39958</div>
959</div>
960</body>
961</html>