blob: ba1302efedae82866ae7515d5d09d0fa931e2991 [file] [log] [blame]
Junio C Hamano1a4e8412005-12-27 08:17:231<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
2 "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
4<head>
5<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
Junio C Hamano5f327762006-03-02 09:14:516<meta name="generator" content="AsciiDoc 7.0.2" />
Junio C Hamano1a4e8412005-12-27 08:17:237<style type="text/css">
8/* Debug borders */
9p, li, dt, dd, div, pre, h1, h2, h3, h4, h5, h6 {
10/*
11 border: 1px solid red;
12*/
13}
14
15body {
16 margin: 1em 5% 1em 5%;
17}
18
19a { color: blue; }
20a:visited { color: fuchsia; }
21
22em {
23 font-style: italic;
24}
25
26strong {
27 font-weight: bold;
28}
29
30tt {
31 color: navy;
32}
33
34h1, h2, h3, h4, h5, h6 {
35 color: #527bbd;
36 font-family: sans-serif;
37 margin-top: 1.2em;
38 margin-bottom: 0.5em;
39 line-height: 1.3;
40}
41
42h1 {
43 border-bottom: 2px solid silver;
44}
45h2 {
46 border-bottom: 2px solid silver;
47 padding-top: 0.5em;
48}
49
50div.sectionbody {
51 font-family: serif;
52 margin-left: 0;
53}
54
55hr {
56 border: 1px solid silver;
57}
58
59p {
60 margin-top: 0.5em;
61 margin-bottom: 0.5em;
62}
63
64pre {
65 padding: 0;
66 margin: 0;
67}
68
69span#author {
70 color: #527bbd;
71 font-family: sans-serif;
72 font-weight: bold;
73 font-size: 1.2em;
74}
75span#email {
76}
77span#revision {
78 font-family: sans-serif;
79}
80
81div#footer {
82 font-family: sans-serif;
83 font-size: small;
84 border-top: 2px solid silver;
85 padding-top: 0.5em;
86 margin-top: 4.0em;
87}
88div#footer-text {
89 float: left;
90 padding-bottom: 0.5em;
91}
92div#footer-badges {
93 float: right;
94 padding-bottom: 0.5em;
95}
96
97div#preamble,
98div.tableblock, div.imageblock, div.exampleblock, div.verseblock,
99div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
100div.admonitionblock {
101 margin-right: 10%;
102 margin-top: 1.5em;
103 margin-bottom: 1.5em;
104}
105div.admonitionblock {
106 margin-top: 2.5em;
107 margin-bottom: 2.5em;
108}
109
110div.content { /* Block element content. */
111 padding: 0;
112}
113
114/* Block element titles. */
115div.title, caption.title {
116 font-family: sans-serif;
117 font-weight: bold;
118 text-align: left;
119 margin-top: 1.0em;
120 margin-bottom: 0.5em;
121}
122div.title + * {
123 margin-top: 0;
124}
125
126td div.title:first-child {
127 margin-top: 0.0em;
128}
129div.content div.title:first-child {
130 margin-top: 0.0em;
131}
132div.content + div.title {
133 margin-top: 0.0em;
134}
135
136div.sidebarblock > div.content {
137 background: #ffffee;
138 border: 1px solid silver;
139 padding: 0.5em;
140}
141
142div.listingblock > div.content {
143 border: 1px solid silver;
144 background: #f4f4f4;
145 padding: 0.5em;
146}
147
148div.quoteblock > div.content {
149 padding-left: 2.0em;
150}
151div.quoteblock .attribution {
152 text-align: right;
153}
154
155div.admonitionblock .icon {
156 vertical-align: top;
157 font-size: 1.1em;
158 font-weight: bold;
159 text-decoration: underline;
160 color: #527bbd;
161 padding-right: 0.5em;
162}
163div.admonitionblock td.content {
164 padding-left: 0.5em;
165 border-left: 2px solid silver;
166}
167
168div.exampleblock > div.content {
169 border-left: 2px solid silver;
170 padding: 0.5em;
171}
172
173div.verseblock div.content {
174 white-space: pre;
175}
176
177div.imageblock div.content { padding-left: 0; }
178div.imageblock img { border: 1px solid silver; }
179span.image img { border-style: none; }
180
181dl {
182 margin-top: 0.8em;
183 margin-bottom: 0.8em;
184}
185dt {
186 margin-top: 0.5em;
187 margin-bottom: 0;
188 font-style: italic;
189}
190dd > *:first-child {
191 margin-top: 0;
192}
193
194ul, ol {
195 list-style-position: outside;
196}
197ol.olist2 {
198 list-style-type: lower-alpha;
199}
200
201div.tableblock > table {
202 border-color: #527bbd;
203 border-width: 3px;
204}
205thead {
206 font-family: sans-serif;
207 font-weight: bold;
208}
209tfoot {
210 font-weight: bold;
211}
212
213div.hlist {
214 margin-top: 0.8em;
215 margin-bottom: 0.8em;
216}
217td.hlist1 {
218 vertical-align: top;
219 font-style: italic;
220 padding-right: 0.8em;
221}
222td.hlist2 {
223 vertical-align: top;
224}
225
226@media print {
227 div#footer-badges { display: none; }
228}
229include::./stylesheets/xhtml11-manpage.css[]
230/* Workarounds for IE6's broken and incomplete CSS2. */
231
232div.sidebar-content {
233 background: #ffffee;
234 border: 1px solid silver;
235 padding: 0.5em;
236}
237div.sidebar-title, div.image-title {
238 font-family: sans-serif;
239 font-weight: bold;
240 margin-top: 0.0em;
241 margin-bottom: 0.5em;
242}
243
244div.listingblock div.content {
245 border: 1px solid silver;
246 background: #f4f4f4;
247 padding: 0.5em;
248}
249
250div.quoteblock-content {
251 padding-left: 2.0em;
252}
253
254div.exampleblock-content {
255 border-left: 2px solid silver;
256 padding-left: 0.5em;
257}
258</style>
259<title>git-am(1)</title>
260</head>
261<body>
262<div id="header">
263<h1>
264git-am(1) Manual Page
265</h1>
266<h2>NAME</h2>
267<div class="sectionbody">
268<p>git-am -
Junio C Hamano7c73c662007-01-19 00:37:50269 Apply a series of patches from a mailbox
Junio C Hamano1a4e8412005-12-27 08:17:23270</p>
271</div>
272</div>
273<h2>SYNOPSIS</h2>
274<div class="sectionbody">
Junio C Hamano235a91e2006-01-07 01:13:58275<div class="verseblock">
Junio C Hamanobb343172008-03-09 10:39:09276<div class="content"><em>git-am</em> [--signoff] [--keep] [--utf8 | --no-utf8]
Junio C Hamano0430e3a2007-05-15 03:13:17277 [--3way] [--interactive] [--binary]
278 [--whitespace=&lt;option&gt;] [-C&lt;n&gt;] [-p&lt;n&gt;]
Junio C Hamano679d22d2007-06-02 21:13:44279 &lt;mbox&gt;|&lt;Maildir&gt;&#8230;
280<em>git-am</em> [--skip | --resolved]</div></div>
Junio C Hamano1a4e8412005-12-27 08:17:23281</div>
282<h2>DESCRIPTION</h2>
283<div class="sectionbody">
284<p>Splits mail messages in a mailbox into commit log message,
285authorship information and patches, and applies them to the
286current branch.</p>
287</div>
288<h2>OPTIONS</h2>
289<div class="sectionbody">
290<dl>
291<dt>
Junio C Hamanob7ed57a2007-05-25 05:01:30292&lt;mbox&gt;|&lt;Maildir&gt;&#8230;
Junio C Hamano9cb74f22007-02-12 04:15:05293</dt>
294<dd>
295<p>
296 The list of mailbox files to read patches from. If you do not
Junio C Hamanob7ed57a2007-05-25 05:01:30297 supply this argument, reads from the standard input. If you supply
298 directories, they'll be treated as Maildirs.
Junio C Hamano9cb74f22007-02-12 04:15:05299</p>
300</dd>
301<dt>
Junio C Hamano0e3cb532007-04-17 08:28:11302-s, --signoff
Junio C Hamano1a4e8412005-12-27 08:17:23303</dt>
304<dd>
305<p>
306 Add <tt>Signed-off-by:</tt> line to the commit message, using
307 the committer identity of yourself.
308</p>
309</dd>
310<dt>
Junio C Hamano0e3cb532007-04-17 08:28:11311-k, --keep
Junio C Hamano1a4e8412005-12-27 08:17:23312</dt>
313<dd>
314<p>
Junio C Hamano1d3a6c72007-01-09 11:13:47315 Pass <tt>-k</tt> flag to <tt>git-mailinfo</tt> (see <a href="git-mailinfo.html">git-mailinfo(1)</a>).
316</p>
317</dd>
318<dt>
Junio C Hamano0e3cb532007-04-17 08:28:11319-u, --utf8
Junio C Hamano1d3a6c72007-01-09 11:13:47320</dt>
321<dd>
322<p>
323 Pass <tt>-u</tt> flag to <tt>git-mailinfo</tt> (see <a href="git-mailinfo.html">git-mailinfo(1)</a>).
324 The proposed commit log message taken from the e-mail
Junio C Hamano0430e3a2007-05-15 03:13:17325 is re-coded into UTF-8 encoding (configuration variable
Junio C Hamano1d3a6c72007-01-09 11:13:47326 <tt>i18n.commitencoding</tt> can be used to specify project's
327 preferred encoding if it is not UTF-8).
328</p>
329<p>This was optional in prior versions of git, but now it is the
330default. You could use <tt>--no-utf8</tt> to override this.</p>
331</dd>
332<dt>
333--no-utf8
334</dt>
335<dd>
336<p>
Junio C Hamano0e3cb532007-04-17 08:28:11337 Pass <tt>-n</tt> flag to <tt>git-mailinfo</tt> (see
Junio C Hamano1a4e8412005-12-27 08:17:23338 <a href="git-mailinfo.html">git-mailinfo(1)</a>).
339</p>
340</dd>
341<dt>
Junio C Hamano0430e3a2007-05-15 03:13:17342-3, --3way
343</dt>
344<dd>
345<p>
346 When the patch does not apply cleanly, fall back on
347 3-way merge, if the patch records the identity of blobs
348 it is supposed to apply to, and we have those blobs
349 available locally.
350</p>
351</dd>
352<dt>
Junio C Hamano0e3cb532007-04-17 08:28:11353-b, --binary
Junio C Hamano1a4e8412005-12-27 08:17:23354</dt>
355<dd>
356<p>
357 Pass <tt>--allow-binary-replacement</tt> flag to <tt>git-apply</tt>
358 (see <a href="git-apply.html">git-apply(1)</a>).
359</p>
360</dd>
361<dt>
Junio C Hamano0430e3a2007-05-15 03:13:17362--whitespace=&lt;option&gt;
Junio C Hamano1a4e8412005-12-27 08:17:23363</dt>
364<dd>
365<p>
Junio C Hamano0430e3a2007-05-15 03:13:17366 This flag is passed to the <tt>git-apply</tt> (see <a href="git-apply.html">git-apply(1)</a>)
367 program that applies
368 the patch.
369</p>
370</dd>
371<dt>
372-C&lt;n&gt;, -p&lt;n&gt;
373</dt>
374<dd>
375<p>
376 These flags are passed to the <tt>git-apply</tt> (see <a href="git-apply.html">git-apply(1)</a>)
377 program that applies
378 the patch.
379</p>
380</dd>
381<dt>
382-i, --interactive
383</dt>
384<dd>
385<p>
386 Run interactively.
Junio C Hamano1a4e8412005-12-27 08:17:23387</p>
388</dd>
389<dt>
390--skip
391</dt>
392<dd>
393<p>
394 Skip the current patch. This is only meaningful when
395 restarting an aborted patch.
396</p>
397</dd>
398<dt>
Junio C Hamano0e3cb532007-04-17 08:28:11399-r, --resolved
Junio C Hamano1a4e8412005-12-27 08:17:23400</dt>
401<dd>
402<p>
403 After a patch failure (e.g. attempting to apply
404 conflicting patch), the user has applied it by hand and
405 the index file stores the result of the application.
406 Make a commit using the authorship and commit log
407 extracted from the e-mail message and the current index
408 file, and continue.
409</p>
410</dd>
Junio C Hamano0e3cb532007-04-17 08:28:11411<dt>
412--resolvemsg=&lt;msg&gt;
413</dt>
414<dd>
415<p>
416 When a patch failure occurs, &lt;msg&gt; will be printed
417 to the screen before exiting. This overrides the
418 standard message informing you to use <tt>--resolved</tt>
419 or <tt>--skip</tt> to handle the failure. This is solely
420 for internal use between <tt>git-rebase</tt> and <tt>git-am</tt>.
421</p>
422</dd>
Junio C Hamano1a4e8412005-12-27 08:17:23423</dl>
424</div>
425<h2>DISCUSSION</h2>
426<div class="sectionbody">
Junio C Hamano35e57552007-03-25 07:54:35427<p>The commit author name is taken from the "From: " line of the
428message, and commit author time is taken from the "Date: " line
429of the message. The "Subject: " line is used as the title of
430the commit, after stripping common prefix "[PATCH &lt;anything&gt;]".
431It is supposed to describe what the commit is about concisely as
432a one line text.</p>
433<p>The body of the message (iow, after a blank line that terminates
434RFC2822 headers) can begin with "Subject: " and "From: " lines
435that are different from those of the mail header, to override
436the values of these fields.</p>
437<p>The commit message is formed by the title taken from the
438"Subject: ", a blank line and the body of the message up to
439where the patch begins. Excess whitespaces at the end of the
440lines are automatically stripped.</p>
441<p>The patch is expected to be inline, directly following the
442message. Any line that is of form:</p>
443<ul>
444<li>
445<p>
446three-dashes and end-of-line, or
447</p>
448</li>
449<li>
450<p>
451a line that begins with "diff -", or
452</p>
453</li>
454<li>
455<p>
456a line that begins with "Index: "
457</p>
458</li>
459</ul>
460<p>is taken as the beginning of a patch, and the commit log message
461is terminated before the first occurrence of such a line.</p>
Junio C Hamano1a4e8412005-12-27 08:17:23462<p>When initially invoking it, you give it names of the mailboxes
463to crunch. Upon seeing the first patch that does not apply, it
Junio C Hamano38b693c2007-06-03 08:40:14464aborts in the middle,. You can recover from this in one of two ways:</p>
Junio C Hamano1a4e8412005-12-27 08:17:23465<ol>
466<li>
467<p>
Junio C Hamano0430e3a2007-05-15 03:13:17468skip the current patch by re-running the command with <em>--skip</em>
Junio C Hamano1a4e8412005-12-27 08:17:23469 option.
470</p>
471</li>
472<li>
473<p>
474hand resolve the conflict in the working directory, and update
475 the index file to bring it in a state that the patch should
476 have produced. Then run the command with <em>--resolved</em> option.
477</p>
478</li>
479</ol>
480<p>The command refuses to process new mailboxes while <tt>.dotest</tt>
481directory exists, so if you decide to start over from scratch,
Junio C Hamano69f49172008-02-26 09:17:34482run <tt>rm -f -r .dotest</tt> before running the command with mailbox
Junio C Hamano1a4e8412005-12-27 08:17:23483names.</p>
484</div>
485<h2>SEE ALSO</h2>
486<div class="sectionbody">
Junio C Hamano38b693c2007-06-03 08:40:14487<p><a href="git-apply.html">git-apply(1)</a>.</p>
Junio C Hamano1a4e8412005-12-27 08:17:23488</div>
489<h2>Author</h2>
490<div class="sectionbody">
491<p>Written by Junio C Hamano &lt;junkio@cox.net&gt;</p>
492</div>
493<h2>Documentation</h2>
494<div class="sectionbody">
495<p>Documentation by Petr Baudis, Junio C Hamano and the git-list &lt;git@vger.kernel.org&gt;.</p>
496</div>
497<h2>GIT</h2>
498<div class="sectionbody">
499<p>Part of the <a href="git.html">git(7)</a> suite</p>
500</div>
501<div id="footer">
502<div id="footer-text">
Junio C Hamanobb343172008-03-09 10:39:09503Last updated 09-Mar-2008 10:38:32 UTC
Junio C Hamano1a4e8412005-12-27 08:17:23504</div>
505</div>
506</body>
507</html>