git-imap-send.1   [plain text]


'\" t
.\"     Title: git-imap-send
.\"    Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/>
.\"      Date: 06/01/2011
.\"    Manual: Git Manual
.\"    Source: Git 1.7.5.4
.\"  Language: English
.\"
.TH "GIT\-IMAP\-SEND" "1" "06/01/2011" "Git 1\&.7\&.5\&.4" "Git Manual"
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
git-imap-send \- Send a collection of patches from stdin to an IMAP folder
.SH "SYNOPSIS"
.sp
\fIgit imap\-send\fR
.SH "DESCRIPTION"
.sp
This command uploads a mailbox generated with \fIgit format\-patch\fR into an IMAP drafts folder\&. This allows patches to be sent as other email is when using mail clients that cannot read mailbox files directly\&. The command also works with any general mailbox in which emails have the fields "From", "Date", and "Subject" in that order\&.
.sp
Typical usage is something like:
.sp
git format\-patch \-\-signoff \-\-stdout \-\-attach origin | git imap\-send
.SH "CONFIGURATION"
.sp
To use the tool, imap\&.folder and either imap\&.tunnel or imap\&.host must be set to appropriate values\&.
.SS "Variables"
.PP
imap\&.folder
.RS 4
The folder to drop the mails into, which is typically the Drafts folder\&. For example: "INBOX\&.Drafts", "INBOX/Drafts" or "[Gmail]/Drafts"\&. Required to use imap\-send\&.
.RE
.PP
imap\&.tunnel
.RS 4
Command used to setup a tunnel to the IMAP server through which commands will be piped instead of using a direct network connection to the server\&. Required when imap\&.host is not set to use imap\-send\&.
.RE
.PP
imap\&.host
.RS 4
A URL identifying the server\&. Use a
imap://
prefix for non\-secure connections and a
imaps://
prefix for secure connections\&. Ignored when imap\&.tunnel is set, but required to use imap\-send otherwise\&.
.RE
.PP
imap\&.user
.RS 4
The username to use when logging in to the server\&.
.RE
.PP
imap\&.pass
.RS 4
The password to use when logging in to the server\&.
.RE
.PP
imap\&.port
.RS 4
An integer port number to connect to on the server\&. Defaults to 143 for imap:// hosts and 993 for imaps:// hosts\&. Ignored when imap\&.tunnel is set\&.
.RE
.PP
imap\&.sslverify
.RS 4
A boolean to enable/disable verification of the server certificate used by the SSL/TLS connection\&. Default is
true\&. Ignored when imap\&.tunnel is set\&.
.RE
.PP
imap\&.preformattedHTML
.RS 4
A boolean to enable/disable the use of html encoding when sending a patch\&. An html encoded patch will be bracketed with <pre> and have a content type of text/html\&. Ironically, enabling this option causes Thunderbird to send the patch as a plain/text, format=fixed email\&. Default is
false\&.
.RE
.PP
imap\&.authMethod
.RS 4
Specify authenticate method for authentication with IMAP server\&. Current supported method is
\fICRAM\-MD5\fR
only\&.
.RE
.SS "Examples"
.sp
Using tunnel mode:
.sp
.if n \{\
.RS 4
.\}
.nf
[imap]
    folder = "INBOX\&.Drafts"
    tunnel = "ssh \-q \-C user@example\&.com /usr/bin/imapd \&./Maildir 2> /dev/null"
.fi
.if n \{\
.RE
.\}
.sp
Using direct mode:
.sp
.if n \{\
.RS 4
.\}
.nf
[imap]
    folder = "INBOX\&.Drafts"
    host = imap://imap\&.example\&.com
    user = bob
    pass = p4ssw0rd
.fi
.if n \{\
.RE
.\}
.sp
Using direct mode with SSL:
.sp
.if n \{\
.RS 4
.\}
.nf
[imap]
    folder = "INBOX\&.Drafts"
    host = imaps://imap\&.example\&.com
    user = bob
    pass = p4ssw0rd
    port = 123
    sslverify = false
.fi
.if n \{\
.RE
.\}
.SH "EXAMPLE"
.sp
To submit patches using GMail\(cqs IMAP interface, first, edit your ~/\&.gitconfig to specify your account settings:
.sp
.if n \{\
.RS 4
.\}
.nf
[imap]
        folder = "[Gmail]/Drafts"
        host = imaps://imap\&.gmail\&.com
        user = user@gmail\&.com
        port = 993
        sslverify = false
.fi
.if n \{\
.RE
.\}
.sp
.sp
You might need to instead use: folder = "[Google Mail]/Drafts" if you get an error that the "Folder doesn\(cqt exist"\&.
.sp
Once the commits are ready to be sent, run the following command:
.sp
.if n \{\
.RS 4
.\}
.nf
$ git format\-patch \-\-cover\-letter \-M \-\-stdout origin/master | git imap\-send
.fi
.if n \{\
.RE
.\}
.sp
Just make sure to disable line wrapping in the email client (GMail\(cqs web interface will wrap lines no matter what, so you need to use a real IMAP client)\&.
.SH "CAUTION"
.sp
It is still your responsibility to make sure that the email message sent by your email program meets the standards of your project\&. Many projects do not like patches to be attached\&. Some mail agents will transform patches (e\&.g\&. wrap lines, send them as format=flowed) in ways that make them fail\&. You will get angry flames ridiculing you if you don\(cqt check this\&.
.sp
Thunderbird in particular is known to be problematic\&. Thunderbird users may wish to visit this web page for more information: \m[blue]\fBhttp://kb\&.mozillazine\&.org/Plain_text_e\-mail_\-_Thunderbird#Completely_plain_email\fR\m[]
.SH "SEE ALSO"
.sp
\fBgit-format-patch\fR(1), \fBgit-send-email\fR(1), mbox(5)
.SH "GIT"
.sp
Part of the \fBgit\fR(1) suite