]> git.ipfire.org Git - thirdparty/git.git/blame - Documentation/git-am.txt
mailsplit: allow empty input from stdin
[thirdparty/git.git] / Documentation / git-am.txt
CommitLineData
42e2cba2 1git-am(1)
05625af3 2=========
42e2cba2
PB
3
4NAME
5----
6git-am - Apply a series of patches in a mailbox
7
8
9SYNOPSIS
10--------
353ce815 11[verse]
087b6742
JH
12'git-am' [--signoff] [--dotest=<dir>] [--utf8] [--binary] [--3way] <mbox>...
13'git-am' [--skip | --resolved]
42e2cba2
PB
14
15DESCRIPTION
16-----------
17Splits mail messages in a mailbox into commit log message,
18authorship information and patches, and applies them to the
19current branch.
20
baa720f5
JH
21OPTIONS
22-------
23--signoff::
24 Add `Signed-off-by:` line to the commit message, using
25 the committer identity of yourself.
42e2cba2 26
baa720f5
JH
27--dotest=<dir>::
28 Instead of `.dotest` directory, use <dir> as a working
29 area to store extracted patches.
42e2cba2 30
baa720f5 31--utf8, --keep::
68e37f84 32 Pass `-u` and `-k` flags to `git-mailinfo` (see
baa720f5
JH
33 gitlink:git-mailinfo[1]).
34
087b6742
JH
35--binary::
36 Pass `--allow-binary-replacement` flag to `git-apply`
37 (see gitlink:git-apply[1]).
38
baa720f5
JH
39--3way::
40 When the patch does not apply cleanly, fall back on
41 3-way merge, if the patch records the identity of blobs
42 it is supposed to apply to, and we have those blobs
43 locally.
44
45--skip::
46 Skip the current patch. This is only meaningful when
47 restarting an aborted patch.
48
49--interactive::
50 Run interactively, just like git-applymbox.
51
087b6742
JH
52--resolved::
53 After a patch failure (e.g. attempting to apply
54 conflicting patch), the user has applied it by hand and
55 the index file stores the result of the application.
56 Make a commit using the authorship and commit log
57 extracted from the e-mail message and the current index
58 file, and continue.
baa720f5
JH
59
60DISCUSSION
61----------
62
63When initially invoking it, you give it names of the mailboxes
64to crunch. Upon seeing the first patch that does not apply, it
65aborts in the middle, just like 'git-applymbox' does. You can
66recover from this in one of two ways:
67
68. skip the current one by re-running the command with '--skip'
69 option.
70
087b6742
JH
71. hand resolve the conflict in the working directory, and update
72 the index file to bring it in a state that the patch should
1e2ccd3a 73 have produced. Then run the command with '--resolved' option.
baa720f5
JH
74
75The command refuses to process new mailboxes while `.dotest`
76directory exists, so if you decide to start over from scratch,
77run `rm -f .dotest` before running the command with mailbox
78names.
42e2cba2
PB
79
80
81SEE ALSO
82--------
83gitlink:git-applymbox[1], gitlink:git-applypatch[1].
84
85
86Author
87------
88Written by Junio C Hamano <junkio@cox.net>
89
90Documentation
91--------------
92Documentation by Petr Baudis, Junio C Hamano and the git-list <git@vger.kernel.org>.
93
42e2cba2
PB
94GIT
95---
96Part of the gitlink:git[7] suite
97