git/Documentation/git-am.txt
Junio C Hamano 087b6742fc git-am: --binary; document --resume and --binary.
Now git-apply can grok binary replacement patches, give --binary
flag to git-am.  As a safety measure, this is not by default
enabled, so that you do not let malicious e-mailed patch to
replace an arbitrary path with just a couple of lines (diff
index lines, the filename and string "Binary files "...) by
accident.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-11-17 22:36:31 -08:00

97 lines
2.4 KiB
Plaintext

git-am(1)
=========
NAME
----
git-am - Apply a series of patches in a mailbox
SYNOPSIS
--------
'git-am' [--signoff] [--dotest=<dir>] [--utf8] [--binary] [--3way] <mbox>...
'git-am' [--skip | --resolved]
DESCRIPTION
-----------
Splits mail messages in a mailbox into commit log message,
authorship information and patches, and applies them to the
current branch.
OPTIONS
-------
--signoff::
Add `Signed-off-by:` line to the commit message, using
the committer identity of yourself.
--dotest=<dir>::
Instead of `.dotest` directory, use <dir> as a working
area to store extracted patches.
--utf8, --keep::
Pass `--utf8` and `--keep` flags to `git-mailinfo` (see
gitlink:git-mailinfo[1]).
--binary::
Pass `--allow-binary-replacement` flag to `git-apply`
(see gitlink:git-apply[1]).
--3way::
When the patch does not apply cleanly, fall back on
3-way merge, if the patch records the identity of blobs
it is supposed to apply to, and we have those blobs
locally.
--skip::
Skip the current patch. This is only meaningful when
restarting an aborted patch.
--interactive::
Run interactively, just like git-applymbox.
--resolved::
After a patch failure (e.g. attempting to apply
conflicting patch), the user has applied it by hand and
the index file stores the result of the application.
Make a commit using the authorship and commit log
extracted from the e-mail message and the current index
file, and continue.
DISCUSSION
----------
When initially invoking it, you give it names of the mailboxes
to crunch. Upon seeing the first patch that does not apply, it
aborts in the middle, just like 'git-applymbox' does. You can
recover from this in one of two ways:
. skip the current one by re-running the command with '--skip'
option.
. hand resolve the conflict in the working directory, and update
the index file to bring it in a state that the patch should
have produced. Then run the command with '--resume' option.
The command refuses to process new mailboxes while `.dotest`
directory exists, so if you decide to start over from scratch,
run `rm -f .dotest` before running the command with mailbox
names.
SEE ALSO
--------
gitlink:git-applymbox[1], gitlink:git-applypatch[1].
Author
------
Written by Junio C Hamano <junkio@cox.net>
Documentation
--------------
Documentation by Petr Baudis, Junio C Hamano and the git-list <git@vger.kernel.org>.
GIT
---
Part of the gitlink:git[7] suite