Code

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