summaryrefslogtreecommitdiffstats
path: root/man1/git-mailinfo.1
blob: 688925f7f8c4a1e19d179a291189fdc08228a750 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
'\" t
.\"     Title: git-mailinfo
.\"    Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author]
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\"      Date: 2024-04-22
.\"    Manual: Git Manual
.\"    Source: Git 2.45.0.rc0.3.g00e10ef10e
.\"  Language: English
.\"
.TH "GIT\-MAILINFO" "1" "2024\-04\-22" "Git 2\&.45\&.0\&.rc0\&.3\&.g00" "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
.sp
.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
\fB[\fR
and
\fB]\fR, usually
\fB[PATCH]\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