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