git-imap-send
Send Git commits as email patches
SYNOPSIS
git imap-send [options]
PARAMETERS
-v, --verbose
Show IMAP traffic and progress details during the upload.
-q, --quiet
Suppress verbose output, showing only critical messages.
--conf=
Use a non-standard configuration file for IMAP settings instead of the default Git configuration.
--html-attachment
Generate and include an HTML version of the patch as an additional attachment to the email message.
--no-html-attachment
Do not include an HTML version of the patch. This is the default behavior.
DESCRIPTION
The git-imap-send command uploads a mailbox of patches, typically generated by git-format-patch, to a designated IMAP folder. This is particularly useful for workflows where patches are reviewed or archived on an IMAP server instead of being sent directly via SMTP. It reads the mailbox data from standard input and creates new email messages in the specified IMAP folder, allowing other tools or users to access them.
The command relies on specific IMAP configuration variables set in Git, such as host, user credentials, and the target folder, to establish a connection and perform the upload securely. It serves as an alternative to git-send-email for IMAP-centric workflows.
CAVEATS
Requires detailed IMAP server configuration in Git's settings (e.g., imap.host, imap.user, imap.folder). If not properly configured, connection will fail. Patches are uploaded as new messages, not necessarily threaded, which may require specific IMAP client or server behavior to manage related patches effectively.
IMAP CONFIGURATION VARIABLES
git-imap-send relies heavily on variables set in your Git configuration (e.g., ~/.gitconfig or .git/config).
imap.folder: The IMAP folder where patches will be uploaded (e.g., 'INBOX.patches').
imap.host: The hostname or IP address of the IMAP server.
imap.user: The username for authentication with the IMAP server.
imap.pass: The password for the IMAP server (use with caution, consider Git's credential helper).
imap.port: The port number for the IMAP server (default 993 for SSL, 143 otherwise).
imap.sslmode: How to handle SSL/TLS ('none', 'ssl', 'tls').
imap.prefershtml: A boolean indicating whether to generate HTML versions of patches (for --html-attachment).
HISTORY
git-imap-send was introduced early in Git's development as an alternative mechanism to git-send-email for patch submission, catering to workflows that prefer or require uploading patches directly to an IMAP server. It has maintained its core functionality as a specialized tool for IMAP interaction within the Git patch management ecosystem, providing a reliable way to integrate with IMAP-based mail systems.
SEE ALSO
git-format-patch(1), git-send-email(1), git-config(1), git-am(1)