git-mailinfo.1 (6248B)
- '\" 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-03-14
- .\" Manual: Git Manual
- .\" Source: Git 2.49.0
- .\" Language: English
- .\"
- .TH "GIT\-MAILINFO" "1" "2025-03-14" "Git 2\&.49\&.0" "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