]> git.ipfire.org Git - thirdparty/git.git/blob - Documentation/git-mailinfo.txt
t4034: abstract away SHA-1-specific constants
[thirdparty/git.git] / Documentation / git-mailinfo.txt
1 git-mailinfo(1)
2 ===============
3
4 NAME
5 ----
6 git-mailinfo - Extracts patch and authorship from a single e-mail message
7
8
9 SYNOPSIS
10 --------
11 [verse]
12 'git mailinfo' [-k|-b] [-u | --encoding=<encoding> | -n] [--[no-]scissors] <msg> <patch>
13
14
15 DESCRIPTION
16 -----------
17 Reads a single e-mail message from the standard input, and
18 writes the commit log message in <msg> file, and the patches in
19 <patch> file. The author name, e-mail and e-mail subject are
20 written out to the standard output to be used by 'git am'
21 to create a commit. It is usually not necessary to use this
22 command directly. See linkgit:git-am[1] instead.
23
24
25 OPTIONS
26 -------
27 -k::
28 Usually the program removes email cruft from the Subject:
29 header line to extract the title line for the commit log
30 message. This option prevents this munging, and is most
31 useful when used to read back 'git format-patch -k' output.
32 +
33 Specifically, the following are removed until none of them remain:
34 +
35 --
36 * Leading and trailing whitespace.
37
38 * Leading `Re:`, `re:`, and `:`.
39
40 * Leading bracketed strings (between `[` and `]`, usually
41 `[PATCH]`).
42 --
43 +
44 Finally, runs of whitespace are normalized to a single ASCII space
45 character.
46
47 -b::
48 When -k is not in effect, all leading strings bracketed with '['
49 and ']' pairs are stripped. This option limits the stripping to
50 only the pairs whose bracketed string contains the word "PATCH".
51
52 -u::
53 The commit log message, author name and author email are
54 taken from the e-mail, and after minimally decoding MIME
55 transfer encoding, re-coded in the charset specified by
56 i18n.commitencoding (defaulting to UTF-8) by transliterating
57 them. This used to be optional but now it is the default.
58 +
59 Note that the patch is always used as-is without charset
60 conversion, even with this flag.
61
62 --encoding=<encoding>::
63 Similar to -u. But when re-coding, the charset specified here is
64 used instead of the one specified by i18n.commitencoding or UTF-8.
65
66 -n::
67 Disable all charset re-coding of the metadata.
68
69 -m::
70 --message-id::
71 Copy the Message-ID header at the end of the commit message. This
72 is useful in order to associate commits with mailing list discussions.
73
74 --scissors::
75 Remove everything in body before a scissors line. A line that
76 mainly consists of scissors (either ">8" or "8<") and perforation
77 (dash "-") marks is called a scissors line, and is used to request
78 the reader to cut the message at that line. If such a line
79 appears in the body of the message before the patch, everything
80 before it (including the scissors line itself) is ignored when
81 this option is used.
82 +
83 This is useful if you want to begin your message in a discussion thread
84 with comments and suggestions on the message you are responding to, and to
85 conclude it with a patch submission, separating the discussion and the
86 beginning of the proposed commit log message with a scissors line.
87 +
88 This can be enabled by default with the configuration option mailinfo.scissors.
89
90 --no-scissors::
91 Ignore scissors lines. Useful for overriding mailinfo.scissors settings.
92
93 <msg>::
94 The commit log message extracted from e-mail, usually
95 except the title line which comes from e-mail Subject.
96
97 <patch>::
98 The patch extracted from e-mail.
99
100 GIT
101 ---
102 Part of the linkgit:git[1] suite