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

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


SYNOPSIS
--------
'git-mailinfo' [-k] [-u | --encoding=<encoding>] <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-applypatch
to create a commit.  It is usually not necessary to use this
command directly.


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 --mbox' output.

-u::
	By default, the commit log message, author name and
	author email are taken from the e-mail without any
	charset conversion, after minimally decoding MIME
	transfer encoding.  This flag causes the resulting
	commit to be encoded in the encoding specified by
	i18n.commitencoding configuration (defaults to utf-8) by
	transliterating them. 
	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.

<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 gitlink:git[7] suite

