git-mailinfo(1)
===============

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


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


DESCRIPTION
-----------
Reading 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 'cleans up' the Subject: header line
	to extract the title line for the commit log message,
	among which (1) remove 'Re:' or 're:', (2) leading
	whitespaces, (3) '[' up to ']', typically '[PATCH]', and
	then prepends "[PATCH] ".  This flag forbids this
	munging, and is most useful when used to read back 'git
	format-patch -k' output.

-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 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 if the local convention is different
	from what is specified by i18n.commitencoding, this flag
	can be used to override it.

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

<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.


Author
------
Written by Linus Torvalds <torvalds@osdl.org> and
Junio C Hamano <junkio@cox.net>


Documentation
--------------
Documentation by Junio C Hamano and the git-list <git@vger.kernel.org>.

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