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>] <mbox>... 14'git-am' [--skip | --resolved] 15 16DESCRIPTION 17----------- 18Splits mail messages in a mailbox into commit log message, 19authorship information and patches, and applies them to the 20current branch. 21 22OPTIONS 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. 27 28--signoff:: 29 Add `Signed-off-by:` line to the commit message, using 30 the committer identity of yourself. 31 32--dotest=<dir>:: 33 Instead of `.dotest` directory, use <dir> as a working 34 area to store extracted patches. 35 36--keep:: 37 Pass `-k` flag to `git-mailinfo` (see gitlink:git-mailinfo[1]). 38 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+ 46This was optional in prior versions of git, but now it is the 47default. You could use `--no-utf8` to override this. 48 49--no-utf8:: 50 Do not pass `-u` flag to `git-mailinfo` (see 51 gitlink:git-mailinfo[1]). 52 53--binary:: 54 Pass `--allow-binary-replacement` flag to `git-apply` 55 (see gitlink:git-apply[1]). 56 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. 62 63--skip:: 64 Skip the current patch. This is only meaningful when 65 restarting an aborted patch. 66 67--whitespace=<option>:: 68 This flag is passed to the `git-apply` program that applies 69 the patch. 70 71-C<n>:: 72 This flag is passed to the `git-apply` program that applies 73 the patch. 74 75--interactive:: 76 Run interactively, just like git-applymbox. 77 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. 85 86DISCUSSION 87---------- 88 89When initially invoking it, you give it names of the mailboxes 90to crunch. Upon seeing the first patch that does not apply, it 91aborts in the middle, just like 'git-applymbox' does. You can 92recover from this in one of two ways: 93 94. skip the current one by re-running the command with '--skip' 95 option. 96 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. 100 101The command refuses to process new mailboxes while `.dotest` 102directory exists, so if you decide to start over from scratch, 103run `rm -f .dotest` before running the command with mailbox 104names. 105 106 107SEE ALSO 108-------- 109gitlink:git-applymbox[1], gitlink:git-applypatch[1], gitlink:git-apply[1]. 110 111 112Author 113------ 114Written by Junio C Hamano <junkio@cox.net> 115 116Documentation 117-------------- 118Documentation by Petr Baudis, Junio C Hamano and the git-list <git@vger.kernel.org>. 119 120GIT 121--- 122Part of the gitlink:git[7] suite 123