summaryrefslogtreecommitdiff
path: root/Documentation/git-mailinfo.txt
blob: 3bbc731f67e50bdd65dd361cd9ca249ff706728f (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
git-mailinfo(1)
===============

NAME
----
git-mailinfo - Extracts patch and authorship from a single e-mail message


SYNOPSIS
--------
[verse]
'git mailinfo' [-k|-b] [-u | --encoding=<encoding> | -n] [--[no-]scissors] <msg> <patch>


DESCRIPTION
-----------
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 'git am'
to create a commit.  It is usually not necessary to use this
command directly.  See linkgit:git-am[1] instead.


OPTIONS
-------
-k::
	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 'git format-patch -k' output.
+
Specifically, the following are removed until none of them remain:
+
--
*	Leading and trailing whitespace.

*	Leading `Re:`, `re:`, and `:`.

*	Leading bracketed strings (between `[` and `]`, usually
	`[PATCH]`).
--
+
Finally, runs of whitespace are normalized to a single ASCII space
character.

-b::
	When -k is not in effect, all leading strings bracketed with '['
	and ']' pairs are stripped.  This option limits the stripping to
	only the pairs whose bracketed string contains the word "PATCH".

-u::
	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
	i18n.commitencoding (defaulting to UTF-8) by transliterating
	them.  This used to be optional but now it is the default.
+
Note that the patch is always used as-is without charset
conversion, even with this flag.

--encoding=<encoding>::
	Similar to -u.  But when re-coding, the charset specified here is
	used instead of the one specified by i18n.commitencoding or UTF-8.

-n::
	Disable all charset re-coding of the metadata.

-m::
--message-id::
	Copy the Message-ID header at the end of the commit message.  This
	is useful in order to associate commits with mailing list discussions.

--scissors::
	Remove everything in body before a scissors line.  A line that
	mainly consists of scissors (either ">8" or "8<") and perforation
	(dash "-") marks is called a scissors line, and is used to request
	the reader to cut the message at that line.  If such a 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.
+
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.
+
This can be enabled by default with the configuration option mailinfo.scissors.

--no-scissors::
	Ignore scissors lines. Useful for overriding mailinfo.scissors settings.

<msg>::
	The commit log message extracted from e-mail, usually
	except the title line which comes from e-mail Subject.

<patch>::
	The patch extracted from e-mail.

GIT
---
Part of the linkgit:git[1] suite