'\" t
.\"     Title: git-mailinfo
.\"    Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author]
.\" Generator: DocBook XSL Stylesheets v1.79.2 <http://docbook.sf.net/>
.\"      Date: 2025-09-23
.\"    Manual: Git Manual
.\"    Source: Git 2.51.0.315.gbb69721404
.\"  Language: English
.\"
.TH "GIT\-MAILINFO" "1" "2025-09-23" "Git 2\&.51\&.0\&.315\&.gbb6972" "Git Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el       .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
git-mailinfo \- Extracts patch and authorship from a single e\-mail message
.SH "SYNOPSIS"
.sp
.nf
\fIgit mailinfo\fR [\-k|\-b] [\-u | \-\-encoding=<encoding> | \-n]
               [\-\-[no\-]scissors] [\-\-quoted\-cr=<action>]
               <msg> <patch>
.fi
.SH "DESCRIPTION"
.sp
Reads a single e\-mail message from the standard input, and writes the commit log message in <msg> file, and the patches in <patch> file\&. The author name, e\-mail and e\-mail subject are written out to the standard output to be used by \fIgit am\fR to create a commit\&. It is usually not necessary to use this command directly\&. See \fBgit-am\fR(1) instead\&.
.SH "OPTIONS"
.PP
\-k
.RS 4
Usually the program removes email cruft from the Subject: header line to extract the title line for the commit log message\&. This option prevents this munging, and is most useful when used to read back
\fIgit format\-patch \-k\fR
output\&.
.sp
Specifically, the following are removed until none of them remain:
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
Leading and trailing whitespace\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
Leading
\fBRe:\fR,
\fBre:\fR, and
\fB:\fR\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
Leading bracketed strings (between [ and ], usually [\fBPATCH\fR])\&.
.RE
.sp
Finally, runs of whitespace are normalized to a single ASCII space character\&.
.RE
.PP
\-b
.RS 4
When \-k is not in effect, all leading strings bracketed with
\fI[\fR
and
\fI]\fR
pairs are stripped\&. This option limits the stripping to only the pairs whose bracketed string contains the word "PATCH"\&.
.RE
.PP
\-u
.RS 4
The commit log message, author name and author email are taken from the e\-mail, and after minimally decoding MIME transfer encoding, re\-coded in the charset specified by
\fBi18n\&.commitEncoding\fR
(defaulting to UTF\-8) by transliterating them\&. This used to be optional but now it is the default\&.
.sp
Note that the patch is always used as\-is without charset conversion, even with this flag\&.
.RE
.PP
\-\-encoding=<encoding>
.RS 4
Similar to \-u\&. But when re\-coding, the charset specified here is used instead of the one specified by
\fBi18n\&.commitEncoding\fR
or UTF\-8\&.
.RE
.PP
\-n
.RS 4
Disable all charset re\-coding of the metadata\&.
.RE
.PP
\-m, \-\-message\-id
.RS 4
Copy the Message\-ID header at the end of the commit message\&. This is useful in order to associate commits with mailing list discussions\&.
.RE
.PP
\-\-scissors
.RS 4
Remove everything in body before a scissors line (e\&.g\&. "\-\- >8 \-\-")\&. The line represents scissors and perforation marks, and is used to request the reader to cut the message at that line\&. If that line appears in the body of the message before the patch, everything before it (including the scissors line itself) is ignored when this option is used\&.
.sp
This is useful if you want to begin your message in a discussion thread with comments and suggestions on the message you are responding to, and to conclude it with a patch submission, separating the discussion and the beginning of the proposed commit log message with a scissors line\&.
.sp
This can be enabled by default with the configuration option mailinfo\&.scissors\&.
.RE
.PP
\-\-no\-scissors
.RS 4
Ignore scissors lines\&. Useful for overriding mailinfo\&.scissors settings\&.
.RE
.PP
\-\-quoted\-cr=<action>
.RS 4
Action when processes email messages sent with base64 or quoted\-printable encoding, and the decoded lines end with a CRLF instead of a simple LF\&.
.sp
The valid actions are:
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fBnowarn\fR: Git will do nothing when such a CRLF is found\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fBwarn\fR: Git will issue a warning for each message if such a CRLF is found\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fBstrip\fR: Git will convert those CRLF to LF\&.
.RE
.sp
The default action could be set by configuration option
\fBmailinfo\&.quotedCR\fR\&. If no such configuration option has been set,
\fBwarn\fR
will be used\&.
.RE
.PP
<msg>
.RS 4
The commit log message extracted from e\-mail, usually except the title line which comes from e\-mail Subject\&.
.RE
.PP
<patch>
.RS 4
The patch extracted from e\-mail\&.
.RE
.SH "CONFIGURATION"
.sp
Everything below this line in this section is selectively included from the \fBgit-config\fR(1) documentation\&. The content is the same as what\(cqs found there:
.PP
mailinfo\&.scissors
.RS 4
If true, makes
\fBgit-mailinfo\fR(1)
(and therefore
\fBgit-am\fR(1)) act by default as if the \-\-scissors option was provided on the command\-line\&. When active, this feature removes everything from the message body before a scissors line (i\&.e\&. consisting mainly of ">8", "8<" and "\-")\&.
.RE
.SH "GIT"
.sp
Part of the \fBgit\fR(1) suite
