Merge branch 'jk/maint-do-not-feed-stdin-to-tests'
[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] [--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 'cleans up' the Subject: header line
29         to extract the title line for the commit log message,
30         among which (1) remove 'Re:' or 're:', (2) leading
31         whitespaces, (3) '[' up to ']', typically '[PATCH]', and
32         then prepends "[PATCH] ".  This flag forbids this
33         munging, and is most useful when used to read back
34         'git format-patch -k' output.
35
36 -b::
37         When -k is not in effect, all leading strings bracketed with '['
38         and ']' pairs are stripped.  This option limits the stripping to
39         only the pairs whose bracketed string contains the word "PATCH".
40
41 -u::
42         The commit log message, author name and author email are
43         taken from the e-mail, and after minimally decoding MIME
44         transfer encoding, re-coded in the charset specified by
45         i18n.commitencoding (defaulting to UTF-8) by transliterating
46         them.  This used to be optional but now it is the default.
47 +
48 Note that the patch is always used as-is without charset
49 conversion, even with this flag.
50
51 --encoding=<encoding>::
52         Similar to -u.  But when re-coding, the charset specified here is
53         used instead of the one specified by i18n.commitencoding or UTF-8.
54
55 -n::
56         Disable all charset re-coding of the metadata.
57
58 --scissors::
59         Remove everything in body before a scissors line.  A line that
60         mainly consists of scissors (either ">8" or "8<") and perforation
61         (dash "-") marks is called a scissors line, and is used to request
62         the reader to cut the message at that line.  If such a line
63         appears in the body of the message before the patch, everything
64         before it (including the scissors line itself) is ignored when
65         this option is used.
66 +
67 This is useful if you want to begin your message in a discussion thread
68 with comments and suggestions on the message you are responding to, and to
69 conclude it with a patch submission, separating the discussion and the
70 beginning of the proposed commit log message with a scissors line.
71 +
72 This can enabled by default with the configuration option mailinfo.scissors.
73
74 --no-scissors::
75         Ignore scissors lines. Useful for overriding mailinfo.scissors settings.
76
77 <msg>::
78         The commit log message extracted from e-mail, usually
79         except the title line which comes from e-mail Subject.
80
81 <patch>::
82         The patch extracted from e-mail.
83
84 GIT
85 ---
86 Part of the linkgit:git[1] suite