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 flags 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