Merge branch 'jk/index-pack-dupfix' into maint
[git] / Documentation / git-imap-send.txt
1 git-imap-send(1)
2 ================
3
4 NAME
5 ----
6 git-imap-send - Send a collection of patches from stdin to an IMAP folder
7
8
9 SYNOPSIS
10 --------
11 [verse]
12 'git imap-send' [-v] [-q] [--[no-]curl]
13
14
15 DESCRIPTION
16 -----------
17 This command uploads a mailbox generated with 'git format-patch'
18 into an IMAP drafts folder.  This allows patches to be sent as
19 other email is when using mail clients that cannot read mailbox
20 files directly. The command also works with any general mailbox
21 in which emails have the fields "From", "Date", and "Subject" in
22 that order.
23
24 Typical usage is something like:
25
26 git format-patch --signoff --stdout --attach origin | git imap-send
27
28
29 OPTIONS
30 -------
31
32 -v::
33 --verbose::
34         Be verbose.
35
36 -q::
37 --quiet::
38         Be quiet.
39
40 --curl::
41         Use libcurl to communicate with the IMAP server, unless tunneling
42         into it.  Ignored if Git was built without the USE_CURL_FOR_IMAP_SEND
43         option set.
44
45 --no-curl::
46         Talk to the IMAP server using git's own IMAP routines instead of
47         using libcurl.  Ignored if Git was built with the NO_OPENSSL option
48         set.
49
50
51 CONFIGURATION
52 -------------
53
54 To use the tool, imap.folder and either imap.tunnel or imap.host must be set
55 to appropriate values.
56
57 Variables
58 ~~~~~~~~~
59
60 include::config/imap.txt[]
61
62 Examples
63 ~~~~~~~~
64
65 Using tunnel mode:
66
67 ..........................
68 [imap]
69     folder = "INBOX.Drafts"
70     tunnel = "ssh -q -C user@example.com /usr/bin/imapd ./Maildir 2> /dev/null"
71 ..........................
72
73 Using direct mode:
74
75 .........................
76 [imap]
77     folder = "INBOX.Drafts"
78     host = imap://imap.example.com
79     user = bob
80     pass = p4ssw0rd
81 .........................
82
83 Using direct mode with SSL:
84
85 .........................
86 [imap]
87     folder = "INBOX.Drafts"
88     host = imaps://imap.example.com
89     user = bob
90     pass = p4ssw0rd
91     port = 123
92     sslverify = false
93 .........................
94
95
96 EXAMPLES
97 --------
98 To submit patches using GMail's IMAP interface, first, edit your ~/.gitconfig
99 to specify your account settings:
100
101 ---------
102 [imap]
103         folder = "[Gmail]/Drafts"
104         host = imaps://imap.gmail.com
105         user = user@gmail.com
106         port = 993
107         sslverify = false
108 ---------
109
110 You might need to instead use: folder = "[Google Mail]/Drafts" if you get an error
111 that the "Folder doesn't exist".
112
113 Once the commits are ready to be sent, run the following command:
114
115   $ git format-patch --cover-letter -M --stdout origin/master | git imap-send
116
117 Just make sure to disable line wrapping in the email client (GMail's web
118 interface will wrap lines no matter what, so you need to use a real
119 IMAP client).
120
121 CAUTION
122 -------
123 It is still your responsibility to make sure that the email message
124 sent by your email program meets the standards of your project.
125 Many projects do not like patches to be attached.  Some mail
126 agents will transform patches (e.g. wrap lines, send them as
127 format=flowed) in ways that make them fail.  You will get angry
128 flames ridiculing you if you don't check this.
129
130 Thunderbird in particular is known to be problematic.  Thunderbird
131 users may wish to visit this web page for more information:
132   http://kb.mozillazine.org/Plain_text_e-mail_-_Thunderbird#Completely_plain_email
133
134 SEE ALSO
135 --------
136 linkgit:git-format-patch[1], linkgit:git-send-email[1], mbox(5)
137
138 GIT
139 ---
140 Part of the linkgit:git[1] suite