grep: move logic to compile header pattern into a separate helper
[git/dkf.git] / Documentation / git-mailinfo.txt
blob3ea5aad56c5e1cec7fc2ca01ba9b5ea6badebe2f
1 git-mailinfo(1)
2 ===============
4 NAME
5 ----
6 git-mailinfo - Extracts patch and authorship from a single e-mail message
9 SYNOPSIS
10 --------
11 'git mailinfo' [-k|-b] [-u | --encoding=<encoding> | -n] [--scissors] <msg> <patch>
14 DESCRIPTION
15 -----------
16 Reads a single e-mail message from the standard input, and
17 writes the commit log message in <msg> file, and the patches in
18 <patch> file.  The author name, e-mail and e-mail subject are
19 written out to the standard output to be used by 'git am'
20 to create a commit.  It is usually not necessary to use this
21 command directly.  See linkgit:git-am[1] instead.
24 OPTIONS
25 -------
26 -k::
27         Usually the program 'cleans up' the Subject: header line
28         to extract the title line for the commit log message,
29         among which (1) remove 'Re:' or 're:', (2) leading
30         whitespaces, (3) '[' up to ']', typically '[PATCH]', and
31         then prepends "[PATCH] ".  This flag forbids this
32         munging, and is most useful when used to read back
33         'git format-patch -k' output.
35 -b::
36         When -k is not in effect, all leading strings bracketed with '['
37         and ']' pairs are stripped.  This option limits the stripping to
38         only the pairs whose bracketed string contains the word "PATCH".
40 -u::
41         The commit log message, author name and author email are
42         taken from the e-mail, and after minimally decoding MIME
43         transfer encoding, re-coded in the charset specified by
44         i18n.commitencoding (defaulting to UTF-8) by transliterating
45         them.  This used to be optional but now it is the default.
47 Note that the patch is always used as-is without charset
48 conversion, even with this flag.
50 --encoding=<encoding>::
51         Similar to -u.  But when re-coding, the charset specified here is
52         used instead of the one specified by i18n.commitencoding or UTF-8.
54 -n::
55         Disable all charset re-coding of the metadata.
57 --scissors::
58         Remove everything in body before a scissors line.  A line that
59         mainly consists of scissors (either ">8" or "8<") and perforation
60         (dash "-") marks is called a scissors line, and is used to request
61         the reader to cut the message at that line.  If such a line
62         appears in the body of the message before the patch, everything
63         before it (including the scissors line itself) is ignored when
64         this option is used.
66 This is useful if you want to begin your message in a discussion thread
67 with comments and suggestions on the message you are responding to, and to
68 conclude it with a patch submission, separating the discussion and the
69 beginning of the proposed commit log message with a scissors line.
71 This can enabled by default with the configuration option mailinfo.scissors.
73 --no-scissors::
74         Ignore scissors lines. Useful for overriding mailinfo.scissors settings.
76 <msg>::
77         The commit log message extracted from e-mail, usually
78         except the title line which comes from e-mail Subject.
80 <patch>::
81         The patch extracted from e-mail.
84 Author
85 ------
86 Written by Linus Torvalds <torvalds@osdl.org> and
87 Junio C Hamano <gitster@pobox.com>
90 Documentation
91 --------------
92 Documentation by Junio C Hamano and the git-list <git@vger.kernel.org>.
94 GIT
95 ---
96 Part of the linkgit:git[1] suite