Documentation / git-am.txton commit Merge branch 'jc/diff-apply-patch' (3eee9c6)
   1git-am(1)
   2=========
   3
   4NAME
   5----
   6git-am - Apply a series of patches from a mailbox
   7
   8
   9SYNOPSIS
  10--------
  11[verse]
  12'git-am' [--signoff] [--dotest=<dir>] [--utf8 | --no-utf8] [--binary] [--3way]
  13         [--interactive] [--whitespace=<option>] [-C<n>] [-p<n>]
  14         <mbox>...
  15'git-am' [--skip | --resolved]
  16
  17DESCRIPTION
  18-----------
  19Splits mail messages in a mailbox into commit log message,
  20authorship information and patches, and applies them to the
  21current branch.
  22
  23OPTIONS
  24-------
  25<mbox>...::
  26        The list of mailbox files to read patches from. If you do not
  27        supply this argument, reads from the standard input.
  28
  29--signoff::
  30        Add `Signed-off-by:` line to the commit message, using
  31        the committer identity of yourself.
  32
  33--dotest=<dir>::
  34        Instead of `.dotest` directory, use <dir> as a working
  35        area to store extracted patches.
  36
  37--keep::
  38        Pass `-k` flag to `git-mailinfo` (see gitlink:git-mailinfo[1]).
  39
  40--utf8::
  41        Pass `-u` flag to `git-mailinfo` (see gitlink:git-mailinfo[1]).
  42        The proposed commit log message taken from the e-mail
  43        are re-coded into UTF-8 encoding (configuration variable
  44        `i18n.commitencoding` can be used to specify project's
  45        preferred encoding if it is not UTF-8).
  46+
  47This was optional in prior versions of git, but now it is the
  48default.   You could use `--no-utf8` to override this.
  49
  50--no-utf8::
  51        Do not pass `-u` flag to `git-mailinfo` (see
  52        gitlink:git-mailinfo[1]).
  53
  54--binary::
  55        Pass `--allow-binary-replacement` flag to `git-apply`
  56        (see gitlink:git-apply[1]).
  57
  58--3way::
  59        When the patch does not apply cleanly, fall back on
  60        3-way merge, if the patch records the identity of blobs
  61        it is supposed to apply to, and we have those blobs
  62        locally.
  63
  64--skip::
  65        Skip the current patch.  This is only meaningful when
  66        restarting an aborted patch.
  67
  68--whitespace=<option>::
  69        This flag is passed to the `git-apply` program that applies
  70        the patch.
  71
  72-C<n>, -p<n>::
  73        These flag are passed to the `git-apply` program that applies
  74        the patch.
  75
  76--interactive::
  77        Run interactively, just like git-applymbox.
  78
  79--resolved::
  80        After a patch failure (e.g. attempting to apply
  81        conflicting patch), the user has applied it by hand and
  82        the index file stores the result of the application.
  83        Make a commit using the authorship and commit log
  84        extracted from the e-mail message and the current index
  85        file, and continue.
  86
  87DISCUSSION
  88----------
  89
  90When initially invoking it, you give it names of the mailboxes
  91to crunch.  Upon seeing the first patch that does not apply, it
  92aborts in the middle, just like 'git-applymbox' does.  You can
  93recover from this in one of two ways:
  94
  95. skip the current one by re-running the command with '--skip'
  96  option.
  97
  98. hand resolve the conflict in the working directory, and update
  99  the index file to bring it in a state that the patch should
 100  have produced.  Then run the command with '--resolved' option.
 101
 102The command refuses to process new mailboxes while `.dotest`
 103directory exists, so if you decide to start over from scratch,
 104run `rm -f .dotest` before running the command with mailbox
 105names.
 106
 107
 108SEE ALSO
 109--------
 110gitlink:git-applymbox[1], gitlink:git-applypatch[1], gitlink:git-apply[1].
 111
 112
 113Author
 114------
 115Written by Junio C Hamano <junkio@cox.net>
 116
 117Documentation
 118--------------
 119Documentation by Petr Baudis, Junio C Hamano and the git-list <git@vger.kernel.org>.
 120
 121GIT
 122---
 123Part of the gitlink:git[7] suite
 124