]> git.ipfire.org Git - thirdparty/git.git/blame - Documentation/git-am.txt
git-commit.txt: Add missing long/short options
[thirdparty/git.git] / Documentation / git-am.txt
CommitLineData
42e2cba2 1git-am(1)
05625af3 2=========
42e2cba2
PB
3
4NAME
5----
c3f0baac 6git-am - Apply a series of patches from a mailbox
42e2cba2
PB
7
8
9SYNOPSIS
10--------
353ce815 11[verse]
e72c7406 12'git-am' [--signoff] [--keep] [--utf8 | --no-utf8]
870e0d61
FL
13 [--3way] [--interactive] [--binary]
14 [--whitespace=<option>] [-C<n>] [-p<n>]
d63bd9a2 15 <mbox>|<Maildir>...
087b6742 16'git-am' [--skip | --resolved]
42e2cba2
PB
17
18DESCRIPTION
19-----------
20Splits mail messages in a mailbox into commit log message,
21authorship information and patches, and applies them to the
22current branch.
23
baa720f5
JH
24OPTIONS
25-------
d63bd9a2 26<mbox>|<Maildir>...::
d4144612 27 The list of mailbox files to read patches from. If you do not
d63bd9a2
FP
28 supply this argument, reads from the standard input. If you supply
29 directories, they'll be treated as Maildirs.
d4144612 30
5c19f244 31-s, --signoff::
baa720f5
JH
32 Add `Signed-off-by:` line to the commit message, using
33 the committer identity of yourself.
42e2cba2 34
5c19f244 35-k, --keep::
5162e697 36 Pass `-k` flag to `git-mailinfo` (see linkgit:git-mailinfo[1]).
d84029b6 37
5c19f244 38-u, --utf8::
5162e697 39 Pass `-u` flag to `git-mailinfo` (see linkgit:git-mailinfo[1]).
d84029b6 40 The proposed commit log message taken from the e-mail
870e0d61 41 is re-coded into UTF-8 encoding (configuration variable
d84029b6
JH
42 `i18n.commitencoding` can be used to specify project's
43 preferred encoding if it is not UTF-8).
44+
45This was optional in prior versions of git, but now it is the
46default. You could use `--no-utf8` to override this.
47
48--no-utf8::
5c19f244 49 Pass `-n` flag to `git-mailinfo` (see
5162e697 50 linkgit:git-mailinfo[1]).
baa720f5 51
5c19f244 52-3, --3way::
baa720f5
JH
53 When the patch does not apply cleanly, fall back on
54 3-way merge, if the patch records the identity of blobs
55 it is supposed to apply to, and we have those blobs
870e0d61 56 available locally.
baa720f5 57
870e0d61
FL
58-b, --binary::
59 Pass `--allow-binary-replacement` flag to `git-apply`
5162e697 60 (see linkgit:git-apply[1]).
baa720f5 61
8273c79a 62--whitespace=<option>::
5162e697 63 This flag is passed to the `git-apply` (see linkgit:git-apply[1])
870e0d61 64 program that applies
8273c79a
JH
65 the patch.
66
2092a1fe 67-C<n>, -p<n>::
5162e697 68 These flags are passed to the `git-apply` (see linkgit:git-apply[1])
870e0d61 69 program that applies
67dad687
MT
70 the patch.
71
5c19f244 72-i, --interactive::
870e0d61
FL
73 Run interactively.
74
75--skip::
76 Skip the current patch. This is only meaningful when
77 restarting an aborted patch.
baa720f5 78
5c19f244 79-r, --resolved::
087b6742
JH
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.
baa720f5 86
5c19f244
AR
87--resolvemsg=<msg>::
88 When a patch failure occurs, <msg> will be printed
89 to the screen before exiting. This overrides the
90 standard message informing you to use `--resolved`
91 or `--skip` to handle the failure. This is solely
92 for internal use between `git-rebase` and `git-am`.
93
baa720f5
JH
94DISCUSSION
95----------
96
2499857b
JH
97The commit author name is taken from the "From: " line of the
98message, and commit author time is taken from the "Date: " line
99of the message. The "Subject: " line is used as the title of
100the commit, after stripping common prefix "[PATCH <anything>]".
101It is supposed to describe what the commit is about concisely as
102a one line text.
103
104The body of the message (iow, after a blank line that terminates
105RFC2822 headers) can begin with "Subject: " and "From: " lines
106that are different from those of the mail header, to override
107the values of these fields.
108
109The commit message is formed by the title taken from the
110"Subject: ", a blank line and the body of the message up to
111where the patch begins. Excess whitespaces at the end of the
112lines are automatically stripped.
113
114The patch is expected to be inline, directly following the
115message. Any line that is of form:
116
117* three-dashes and end-of-line, or
118* a line that begins with "diff -", or
119* a line that begins with "Index: "
120
121is taken as the beginning of a patch, and the commit log message
122is terminated before the first occurrence of such a line.
123
baa720f5
JH
124When initially invoking it, you give it names of the mailboxes
125to crunch. Upon seeing the first patch that does not apply, it
d45cc6e2 126aborts in the middle,. You can recover from this in one of two ways:
baa720f5 127
870e0d61 128. skip the current patch by re-running the command with '--skip'
baa720f5
JH
129 option.
130
087b6742
JH
131. hand resolve the conflict in the working directory, and update
132 the index file to bring it in a state that the patch should
1e2ccd3a 133 have produced. Then run the command with '--resolved' option.
baa720f5
JH
134
135The command refuses to process new mailboxes while `.dotest`
136directory exists, so if you decide to start over from scratch,
81fa1459 137run `rm -f -r .dotest` before running the command with mailbox
baa720f5 138names.
42e2cba2
PB
139
140
141SEE ALSO
142--------
5162e697 143linkgit:git-apply[1].
42e2cba2
PB
144
145
146Author
147------
148Written by Junio C Hamano <junkio@cox.net>
149
150Documentation
151--------------
152Documentation by Petr Baudis, Junio C Hamano and the git-list <git@vger.kernel.org>.
153
42e2cba2
PB
154GIT
155---
9e1f0a85 156Part of the linkgit:git[1] suite