Skip to content
Snippets Groups Projects
git-imap-send.txt 3.17 KiB
Newer Older
  • Learn to ignore specific revisions
  • Jean-Noël Avila's avatar
    Jean-Noël Avila committed
    git-imap-send(1)
    ================
    
    NAME
    ----
    git-imap-send - Send a collection of patches from stdin to an IMAP folder
    
    
    SYNOPSIS
    --------
    [verse]
    'git imap-send' [-v] [-q] [--[no-]curl]
    
    
    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 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.
    
    Typical usage is something like:
    
    git format-patch --signoff --stdout --attach origin | git imap-send
    
    
    OPTIONS
    -------
    
    -v::
    --verbose::
    	Be verbose.
    
    -q::
    --quiet::
    	Be quiet.
    
    --curl::
    	Use libcurl to communicate with the IMAP server, unless tunneling
    	into it.  Ignored if Git was built without the USE_CURL_FOR_IMAP_SEND
    	option set.
    
    --no-curl::
    	Talk to the IMAP server using git's own IMAP routines instead of
    	using libcurl.  Ignored if Git was built with the NO_OPENSSL option
    	set.
    
    
    CONFIGURATION
    -------------
    
    To use the tool, imap.folder and either imap.tunnel or imap.host must be set
    to appropriate values.
    
    Variables
    ~~~~~~~~~
    
    
    include::config/imap.txt[]
    
    Jean-Noël Avila's avatar
    Jean-Noël Avila committed
    
    Examples
    ~~~~~~~~
    
    Using tunnel mode:
    
    ..........................
    [imap]
        folder = "INBOX.Drafts"
        tunnel = "ssh -q -C user@example.com /usr/bin/imapd ./Maildir 2> /dev/null"
    ..........................
    
    Using direct mode:
    
    .........................
    [imap]
        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
    .........................
    
    
    
    Jean-Noël Avila's avatar
    Jean-Noël Avila committed
    To submit patches using GMail's IMAP interface, first, edit your ~/.gitconfig
    to specify your account settings:
    
    ---------
    [imap]
    	folder = "[Gmail]/Drafts"
    	host = imaps://imap.gmail.com
    	user = user@gmail.com
    	port = 993
    	sslverify = false
    ---------
    
    You might need to instead use: folder = "[Google Mail]/Drafts" if you get an error
    that the "Folder doesn't exist".
    
    Once the commits are ready to be sent, run the following command:
    
      $ git format-patch --cover-letter -M --stdout origin/master | git imap-send
    
    Just make sure to disable line wrapping in the email client (GMail's web
    interface will wrap lines no matter what, so you need to use a real
    IMAP client).
    
    CAUTION
    -------
    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't check this.
    
    Thunderbird in particular is known to be problematic.  Thunderbird
    users may wish to visit this web page for more information:
      http://kb.mozillazine.org/Plain_text_e-mail_-_Thunderbird#Completely_plain_email
    
    SEE ALSO
    --------
    linkgit:git-format-patch[1], linkgit:git-send-email[1], mbox(5)
    
    GIT
    ---
    Part of the linkgit:git[1] suite