Merge branch 'rs/imap'
* rs/imap: Documentation: Improve documentation for git-imap-send(1) imap-send.c: more style fixes imap-send.c: style fixes git-imap-send: Support SSL git-imap-send: Allow the program to be run from subdirectories of a git tree
This commit is contained in:
commit
c8a4cbc239
@ -3,7 +3,7 @@ git-imap-send(1)
|
||||
|
||||
NAME
|
||||
----
|
||||
git-imap-send - Dump a mailbox from stdin into an imap folder
|
||||
git-imap-send - Send a collection of patches from stdin to an IMAP folder
|
||||
|
||||
|
||||
SYNOPSIS
|
||||
@ -13,9 +13,9 @@ SYNOPSIS
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
This command uploads a mailbox generated with git-format-patch
|
||||
into an imap drafts folder. This allows patches to be sent as
|
||||
other email is sent with mail clients that cannot read mailbox
|
||||
This command uploads a mailbox generated with 'git-format-patch'
|
||||
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.
|
||||
|
||||
Typical usage is something like:
|
||||
@ -26,21 +26,75 @@ git format-patch --signoff --stdout --attach origin | git imap-send
|
||||
CONFIGURATION
|
||||
-------------
|
||||
|
||||
'git-imap-send' requires the following values in the repository
|
||||
configuration file (shown with examples):
|
||||
To use the tool, imap.folder and either imap.tunnel or imap.host must be set
|
||||
to appropriate values.
|
||||
|
||||
Variables
|
||||
~~~~~~~~~
|
||||
|
||||
imap.folder::
|
||||
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.
|
||||
|
||||
imap.tunnel::
|
||||
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.
|
||||
|
||||
imap.host::
|
||||
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.
|
||||
|
||||
imap.user::
|
||||
The username to use when logging in to the server.
|
||||
|
||||
imap.password::
|
||||
The password to use when logging in to the server.
|
||||
|
||||
imap.port::
|
||||
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.
|
||||
|
||||
imap.sslverify::
|
||||
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.
|
||||
|
||||
Examples
|
||||
~~~~~~~~
|
||||
|
||||
Using tunnel mode:
|
||||
|
||||
..........................
|
||||
[imap]
|
||||
Folder = "INBOX.Drafts"
|
||||
folder = "INBOX.Drafts"
|
||||
tunnel = "ssh -q -C user@example.com /usr/bin/imapd ./Maildir 2> /dev/null"
|
||||
..........................
|
||||
|
||||
[imap]
|
||||
Tunnel = "ssh -q user@server.com /usr/bin/imapd ./Maildir 2> /dev/null"
|
||||
Using direct mode:
|
||||
|
||||
.........................
|
||||
[imap]
|
||||
Host = imap.server.com
|
||||
User = bob
|
||||
Pass = pwd
|
||||
Port = 143
|
||||
folder = "INBOX.Drafts"
|
||||
host = imap://imap.example.com
|
||||
user = bob
|
||||
pass = p4ssw0rd
|
||||
..........................
|
||||
|
||||
Using direct mode with SSL:
|
||||
|
||||
.........................
|
||||
[imap]
|
||||
folder = "INBOX.Drafts"
|
||||
host = imaps://imap.example.com
|
||||
user = bob
|
||||
pass = p4ssw0rd
|
||||
port = 123
|
||||
sslverify = false
|
||||
..........................
|
||||
|
||||
|
||||
|
4
Makefile
4
Makefile
@ -1222,7 +1222,9 @@ endif
|
||||
git-%$X: %.o $(GITLIBS)
|
||||
$(QUIET_LINK)$(CC) $(ALL_CFLAGS) -o $@ $(ALL_LDFLAGS) $(filter %.o,$^) $(LIBS)
|
||||
|
||||
git-imap-send$X: imap-send.o $(LIB_FILE)
|
||||
git-imap-send$X: imap-send.o $(GITLIBS)
|
||||
$(QUIET_LINK)$(CC) $(ALL_CFLAGS) -o $@ $(ALL_LDFLAGS) $(filter %.o,$^) \
|
||||
$(LIBS) $(OPENSSL_LINK) $(OPENSSL_LIBSSL)
|
||||
|
||||
http.o http-walker.o http-push.o transport.o: http.h
|
||||
|
||||
|
@ -99,6 +99,11 @@
|
||||
#include <iconv.h>
|
||||
#endif
|
||||
|
||||
#ifndef NO_OPENSSL
|
||||
#include <openssl/ssl.h>
|
||||
#include <openssl/err.h>
|
||||
#endif
|
||||
|
||||
/* On most systems <limits.h> would have given us this, but
|
||||
* not on some systems (e.g. GNU/Hurd).
|
||||
*/
|
||||
|
922
imap-send.c
922
imap-send.c
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user