Autogenerated HTML docs for v1.7.5-185-g0b9dee
[git/jnareb-git.git] / git-format-patch.html
blobe1454e25b164a77842ed4dad858e5b1c397cb9d0
1 <!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" />
6 <meta name="generator" content="AsciiDoc 8.4.5" />
7 <title>git-format-patch(1)</title>
8 <style type="text/css">
9 /* Debug borders */
10 p, li, dt, dd, div, pre, h1, h2, h3, h4, h5, h6 {
12 border: 1px solid red;
16 body {
17 margin: 1em 5% 1em 5%;
20 a {
21 color: blue;
22 text-decoration: underline;
24 a:visited {
25 color: fuchsia;
28 em {
29 font-style: italic;
30 color: navy;
33 strong {
34 font-weight: bold;
35 color: #083194;
38 tt {
39 color: navy;
42 h1, h2, h3, h4, h5, h6 {
43 color: #527bbd;
44 font-family: sans-serif;
45 margin-top: 1.2em;
46 margin-bottom: 0.5em;
47 line-height: 1.3;
50 h1, h2, h3 {
51 border-bottom: 2px solid silver;
53 h2 {
54 padding-top: 0.5em;
56 h3 {
57 float: left;
59 h3 + * {
60 clear: left;
63 div.sectionbody {
64 font-family: serif;
65 margin-left: 0;
68 hr {
69 border: 1px solid silver;
72 p {
73 margin-top: 0.5em;
74 margin-bottom: 0.5em;
77 ul, ol, li > p {
78 margin-top: 0;
81 pre {
82 padding: 0;
83 margin: 0;
86 span#author {
87 color: #527bbd;
88 font-family: sans-serif;
89 font-weight: bold;
90 font-size: 1.1em;
92 span#email {
94 span#revnumber, span#revdate, span#revremark {
95 font-family: sans-serif;
98 div#footer {
99 font-family: sans-serif;
100 font-size: small;
101 border-top: 2px solid silver;
102 padding-top: 0.5em;
103 margin-top: 4.0em;
105 div#footer-text {
106 float: left;
107 padding-bottom: 0.5em;
109 div#footer-badges {
110 float: right;
111 padding-bottom: 0.5em;
114 div#preamble {
115 margin-top: 1.5em;
116 margin-bottom: 1.5em;
118 div.tableblock, div.imageblock, div.exampleblock, div.verseblock,
119 div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
120 div.admonitionblock {
121 margin-top: 1.5em;
122 margin-bottom: 1.5em;
124 div.admonitionblock {
125 margin-top: 2.5em;
126 margin-bottom: 2.5em;
129 div.content { /* Block element content. */
130 padding: 0;
133 /* Block element titles. */
134 div.title, caption.title {
135 color: #527bbd;
136 font-family: sans-serif;
137 font-weight: bold;
138 text-align: left;
139 margin-top: 1.0em;
140 margin-bottom: 0.5em;
142 div.title + * {
143 margin-top: 0;
146 td div.title:first-child {
147 margin-top: 0.0em;
149 div.content div.title:first-child {
150 margin-top: 0.0em;
152 div.content + div.title {
153 margin-top: 0.0em;
156 div.sidebarblock > div.content {
157 background: #ffffee;
158 border: 1px solid silver;
159 padding: 0.5em;
162 div.listingblock > div.content {
163 border: 1px solid silver;
164 background: #f4f4f4;
165 padding: 0.5em;
168 div.quoteblock {
169 padding-left: 2.0em;
170 margin-right: 10%;
172 div.quoteblock > div.attribution {
173 padding-top: 0.5em;
174 text-align: right;
177 div.verseblock {
178 padding-left: 2.0em;
179 margin-right: 10%;
181 div.verseblock > div.content {
182 white-space: pre;
184 div.verseblock > div.attribution {
185 padding-top: 0.75em;
186 text-align: left;
188 /* DEPRECATED: Pre version 8.2.7 verse style literal block. */
189 div.verseblock + div.attribution {
190 text-align: left;
193 div.admonitionblock .icon {
194 vertical-align: top;
195 font-size: 1.1em;
196 font-weight: bold;
197 text-decoration: underline;
198 color: #527bbd;
199 padding-right: 0.5em;
201 div.admonitionblock td.content {
202 padding-left: 0.5em;
203 border-left: 2px solid silver;
206 div.exampleblock > div.content {
207 border-left: 2px solid silver;
208 padding: 0.5em;
211 div.imageblock div.content { padding-left: 0; }
212 span.image img { border-style: none; }
213 a.image:visited { color: white; }
215 dl {
216 margin-top: 0.8em;
217 margin-bottom: 0.8em;
219 dt {
220 margin-top: 0.5em;
221 margin-bottom: 0;
222 font-style: normal;
223 color: navy;
225 dd > *:first-child {
226 margin-top: 0.1em;
229 ul, ol {
230 list-style-position: outside;
232 ol.arabic {
233 list-style-type: decimal;
235 ol.loweralpha {
236 list-style-type: lower-alpha;
238 ol.upperalpha {
239 list-style-type: upper-alpha;
241 ol.lowerroman {
242 list-style-type: lower-roman;
244 ol.upperroman {
245 list-style-type: upper-roman;
248 div.compact ul, div.compact ol,
249 div.compact p, div.compact p,
250 div.compact div, div.compact div {
251 margin-top: 0.1em;
252 margin-bottom: 0.1em;
255 div.tableblock > table {
256 border: 3px solid #527bbd;
258 thead {
259 font-family: sans-serif;
260 font-weight: bold;
262 tfoot {
263 font-weight: bold;
265 td > div.verse {
266 white-space: pre;
268 p.table {
269 margin-top: 0;
271 /* Because the table frame attribute is overriden by CSS in most browsers. */
272 div.tableblock > table[frame="void"] {
273 border-style: none;
275 div.tableblock > table[frame="hsides"] {
276 border-left-style: none;
277 border-right-style: none;
279 div.tableblock > table[frame="vsides"] {
280 border-top-style: none;
281 border-bottom-style: none;
285 div.hdlist {
286 margin-top: 0.8em;
287 margin-bottom: 0.8em;
289 div.hdlist tr {
290 padding-bottom: 15px;
292 dt.hdlist1.strong, td.hdlist1.strong {
293 font-weight: bold;
295 td.hdlist1 {
296 vertical-align: top;
297 font-style: normal;
298 padding-right: 0.8em;
299 color: navy;
301 td.hdlist2 {
302 vertical-align: top;
304 div.hdlist.compact tr {
305 margin: 0;
306 padding-bottom: 0;
309 .comment {
310 background: yellow;
313 @media print {
314 div#footer-badges { display: none; }
317 div#toctitle {
318 color: #527bbd;
319 font-family: sans-serif;
320 font-size: 1.1em;
321 font-weight: bold;
322 margin-top: 1.0em;
323 margin-bottom: 0.1em;
326 div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 {
327 margin-top: 0;
328 margin-bottom: 0;
330 div.toclevel2 {
331 margin-left: 2em;
332 font-size: 0.9em;
334 div.toclevel3 {
335 margin-left: 4em;
336 font-size: 0.9em;
338 div.toclevel4 {
339 margin-left: 6em;
340 font-size: 0.9em;
342 /* Overrides for manpage documents */
343 h1 {
344 padding-top: 0.5em;
345 padding-bottom: 0.5em;
346 border-top: 2px solid silver;
347 border-bottom: 2px solid silver;
349 h2 {
350 border-style: none;
352 div.sectionbody {
353 margin-left: 5%;
356 @media print {
357 div#toc { display: none; }
360 /* Workarounds for IE6's broken and incomplete CSS2. */
362 div.sidebar-content {
363 background: #ffffee;
364 border: 1px solid silver;
365 padding: 0.5em;
367 div.sidebar-title, div.image-title {
368 color: #527bbd;
369 font-family: sans-serif;
370 font-weight: bold;
371 margin-top: 0.0em;
372 margin-bottom: 0.5em;
375 div.listingblock div.content {
376 border: 1px solid silver;
377 background: #f4f4f4;
378 padding: 0.5em;
381 div.quoteblock-attribution {
382 padding-top: 0.5em;
383 text-align: right;
386 div.verseblock-content {
387 white-space: pre;
389 div.verseblock-attribution {
390 padding-top: 0.75em;
391 text-align: left;
394 div.exampleblock-content {
395 border-left: 2px solid silver;
396 padding-left: 0.5em;
399 /* IE6 sets dynamically generated links as visited. */
400 div#toc a:visited { color: blue; }
401 </style>
402 </head>
403 <body>
404 <div id="header">
405 <h1>
406 git-format-patch(1) Manual Page
407 </h1>
408 <h2>NAME</h2>
409 <div class="sectionbody">
410 <p>git-format-patch -
411 Prepare patches for e-mail submission
412 </p>
413 </div>
414 </div>
415 <h2 id="_synopsis">SYNOPSIS</h2>
416 <div class="sectionbody">
417 <div class="verseblock">
418 <div class="verseblock-content"><em>git format-patch</em> [-k] [(-o|--output-directory) &lt;dir&gt; | --stdout]
419 [--no-thread | --thread[=&lt;style&gt;]]
420 [(--attach|--inline)[=&lt;boundary&gt;] | --no-attach]
421 [-s | --signoff]
422 [--signature=&lt;signature&gt; | --no-signature]
423 [-n | --numbered | -N | --no-numbered]
424 [--start-number &lt;n&gt;] [--numbered-files]
425 [--in-reply-to=Message-Id] [--suffix=.&lt;sfx&gt;]
426 [--ignore-if-in-upstream]
427 [--subject-prefix=Subject-Prefix]
428 [--to=&lt;email&gt;] [--cc=&lt;email&gt;]
429 [--cover-letter] [--quiet]
430 [&lt;common diff options&gt;]
431 [ &lt;since&gt; | &lt;revision range&gt; ]</div>
432 <div class="verseblock-attribution">
433 </div></div>
434 </div>
435 <h2 id="_description">DESCRIPTION</h2>
436 <div class="sectionbody">
437 <div class="paragraph"><p>Prepare each commit with its patch in
438 one file per commit, formatted to resemble UNIX mailbox format.
439 The output of this command is convenient for e-mail submission or
440 for use with <em>git am</em>.</p></div>
441 <div class="paragraph"><p>There are two ways to specify which commits to operate on.</p></div>
442 <div class="olist arabic"><ol class="arabic">
443 <li>
445 A single commit, &lt;since&gt;, specifies that the commits leading
446 to the tip of the current branch that are not in the history
447 that leads to the &lt;since&gt; to be output.
448 </p>
449 </li>
450 <li>
452 Generic &lt;revision range&gt; expression (see "SPECIFYING
453 REVISIONS" section in <a href="gitrevisions.html">gitrevisions(7)</a>) means the
454 commits in the specified range.
455 </p>
456 </li>
457 </ol></div>
458 <div class="paragraph"><p>The first rule takes precedence in the case of a single &lt;commit&gt;. To
459 apply the second rule, i.e., format everything since the beginning of
460 history up until &lt;commit&gt;, use the <em>--root</em> option: <tt>git format-patch
461 --root &lt;commit&gt;</tt>. If you want to format only &lt;commit&gt; itself, you
462 can do this with <tt>git format-patch -1 &lt;commit&gt;</tt>.</p></div>
463 <div class="paragraph"><p>By default, each output file is numbered sequentially from 1, and uses the
464 first line of the commit message (massaged for pathname safety) as
465 the filename. With the <tt>--numbered-files</tt> option, the output file names
466 will only be numbers, without the first line of the commit appended.
467 The names of the output files are printed to standard
468 output, unless the <tt>--stdout</tt> option is specified.</p></div>
469 <div class="paragraph"><p>If <tt>-o</tt> is specified, output files are created in &lt;dir&gt;. Otherwise
470 they are created in the current working directory.</p></div>
471 <div class="paragraph"><p>By default, the subject of a single patch is "[PATCH] First Line" and
472 the subject when multiple patches are output is "[PATCH n/m] First
473 Line". To force 1/1 to be added for a single patch, use <tt>-n</tt>. To omit
474 patch numbers from the subject, use <tt>-N</tt>.</p></div>
475 <div class="paragraph"><p>If given <tt>--thread</tt>, <tt>git-format-patch</tt> will generate <tt>In-Reply-To</tt> and
476 <tt>References</tt> headers to make the second and subsequent patch mails appear
477 as replies to the first mail; this also generates a <tt>Message-Id</tt> header to
478 reference.</p></div>
479 </div>
480 <h2 id="_options">OPTIONS</h2>
481 <div class="sectionbody">
482 <div class="dlist"><dl>
483 <dt class="hdlist1">
485 </dt>
486 <dt class="hdlist1">
487 --no-stat
488 </dt>
489 <dd>
491 Generate plain patches without any diffstats.
492 </p>
493 </dd>
494 <dt class="hdlist1">
495 -U&lt;n&gt;
496 </dt>
497 <dt class="hdlist1">
498 --unified=&lt;n&gt;
499 </dt>
500 <dd>
502 Generate diffs with &lt;n&gt; lines of context instead of
503 the usual three.
504 </p>
505 </dd>
506 <dt class="hdlist1">
507 --patience
508 </dt>
509 <dd>
511 Generate a diff using the "patience diff" algorithm.
512 </p>
513 </dd>
514 <dt class="hdlist1">
515 --stat[=&lt;width&gt;[,&lt;name-width&gt;]]
516 </dt>
517 <dd>
519 Generate a diffstat. You can override the default
520 output width for 80-column terminal by <tt>--stat=&lt;width&gt;</tt>.
521 The width of the filename part can be controlled by
522 giving another width to it separated by a comma.
523 </p>
524 </dd>
525 <dt class="hdlist1">
526 --numstat
527 </dt>
528 <dd>
530 Similar to <tt>--stat</tt>, but shows number of added and
531 deleted lines in decimal notation and pathname without
532 abbreviation, to make it more machine friendly. For
533 binary files, outputs two <tt>-</tt> instead of saying
534 <tt>0 0</tt>.
535 </p>
536 </dd>
537 <dt class="hdlist1">
538 --shortstat
539 </dt>
540 <dd>
542 Output only the last line of the <tt>--stat</tt> format containing total
543 number of modified files, as well as number of added and deleted
544 lines.
545 </p>
546 </dd>
547 <dt class="hdlist1">
548 --dirstat[=&lt;limit&gt;]
549 </dt>
550 <dd>
552 Output the distribution of relative amount of changes (number of lines added or
553 removed) for each sub-directory. Directories with changes below
554 a cut-off percent (3% by default) are not shown. The cut-off percent
555 can be set with <tt>--dirstat=&lt;limit&gt;</tt>. Changes in a child directory are not
556 counted for the parent directory, unless <tt>--cumulative</tt> is used.
557 </p>
558 <div class="paragraph"><p>Note that the <tt>--dirstat</tt> option computes the changes while ignoring
559 the amount of pure code movements within a file. In other words,
560 rearranging lines in a file is not counted as much as other changes.</p></div>
561 </dd>
562 <dt class="hdlist1">
563 --dirstat-by-file[=&lt;limit&gt;]
564 </dt>
565 <dd>
567 Same as <tt>--dirstat</tt>, but counts changed files instead of lines.
568 </p>
569 </dd>
570 <dt class="hdlist1">
571 --summary
572 </dt>
573 <dd>
575 Output a condensed summary of extended header information
576 such as creations, renames and mode changes.
577 </p>
578 </dd>
579 <dt class="hdlist1">
580 --no-renames
581 </dt>
582 <dd>
584 Turn off rename detection, even when the configuration
585 file gives the default to do so.
586 </p>
587 </dd>
588 <dt class="hdlist1">
589 --full-index
590 </dt>
591 <dd>
593 Instead of the first handful of characters, show the full
594 pre- and post-image blob object names on the "index"
595 line when generating patch format output.
596 </p>
597 </dd>
598 <dt class="hdlist1">
599 --binary
600 </dt>
601 <dd>
603 In addition to <tt>--full-index</tt>, output a binary diff that
604 can be applied with <tt>git-apply</tt>.
605 </p>
606 </dd>
607 <dt class="hdlist1">
608 --abbrev[=&lt;n&gt;]
609 </dt>
610 <dd>
612 Instead of showing the full 40-byte hexadecimal object
613 name in diff-raw format output and diff-tree header
614 lines, show only a partial prefix. This is
615 independent of the <tt>--full-index</tt> option above, which controls
616 the diff-patch output format. Non default number of
617 digits can be specified with <tt>--abbrev=&lt;n&gt;</tt>.
618 </p>
619 </dd>
620 <dt class="hdlist1">
621 -B[&lt;n&gt;][/&lt;m&gt;]
622 </dt>
623 <dt class="hdlist1">
624 --break-rewrites[=[&lt;n&gt;][/&lt;m&gt;]]
625 </dt>
626 <dd>
628 Break complete rewrite changes into pairs of delete and
629 create. This serves two purposes:
630 </p>
631 <div class="paragraph"><p>It affects the way a change that amounts to a total rewrite of a file
632 not as a series of deletion and insertion mixed together with a very
633 few lines that happen to match textually as the context, but as a
634 single deletion of everything old followed by a single insertion of
635 everything new, and the number <tt>m</tt> controls this aspect of the -B
636 option (defaults to 60%). <tt>-B/70%</tt> specifies that less than 30% of the
637 original should remain in the result for git to consider it a total
638 rewrite (i.e. otherwise the resulting patch will be a series of
639 deletion and insertion mixed together with context lines).</p></div>
640 <div class="paragraph"><p>When used with -M, a totally-rewritten file is also considered as the
641 source of a rename (usually -M only considers a file that disappeared
642 as the source of a rename), and the number <tt>n</tt> controls this aspect of
643 the -B option (defaults to 50%). <tt>-B20%</tt> specifies that a change with
644 addition and deletion compared to 20% or more of the file&#8217;s size are
645 eligible for being picked up as a possible source of a rename to
646 another file.</p></div>
647 </dd>
648 <dt class="hdlist1">
649 -M[&lt;n&gt;]
650 </dt>
651 <dt class="hdlist1">
652 --find-renames[=&lt;n&gt;]
653 </dt>
654 <dd>
656 Detect renames.
657 If <tt>n</tt> is specified, it is a is a threshold on the similarity
658 index (i.e. amount of addition/deletions compared to the
659 file&#8217;s size). For example, <tt>-M90%</tt> means git should consider a
660 delete/add pair to be a rename if more than 90% of the file
661 hasn&#8217;t changed.
662 </p>
663 </dd>
664 <dt class="hdlist1">
665 -C[&lt;n&gt;]
666 </dt>
667 <dt class="hdlist1">
668 --find-copies[=&lt;n&gt;]
669 </dt>
670 <dd>
672 Detect copies as well as renames. See also <tt>--find-copies-harder</tt>.
673 If <tt>n</tt> is specified, it has the same meaning as for <tt>-M&lt;n&gt;</tt>.
674 </p>
675 </dd>
676 <dt class="hdlist1">
677 --find-copies-harder
678 </dt>
679 <dd>
681 For performance reasons, by default, <tt>-C</tt> option finds copies only
682 if the original file of the copy was modified in the same
683 changeset. This flag makes the command
684 inspect unmodified files as candidates for the source of
685 copy. This is a very expensive operation for large
686 projects, so use it with caution. Giving more than one
687 <tt>-C</tt> option has the same effect.
688 </p>
689 </dd>
690 <dt class="hdlist1">
692 </dt>
693 <dt class="hdlist1">
694 --irreversible-delete
695 </dt>
696 <dd>
698 Omit the preimage for deletes, i.e. print only the header but not
699 the diff between the preimage and <tt>/dev/null</tt>. The resulting patch
700 is not meant to be applied with <tt>patch</tt> nor <tt>git apply</tt>; this is
701 solely for people who want to just concentrate on reviewing the
702 text after the change. In addition, the output obviously lack
703 enough information to apply such a patch in reverse, even manually,
704 hence the name of the option.
705 </p>
706 <div class="paragraph"><p>When used together with <tt>-B</tt>, omit also the preimage in the deletion part
707 of a delete/create pair.</p></div>
708 </dd>
709 <dt class="hdlist1">
710 -l&lt;num&gt;
711 </dt>
712 <dd>
714 The <tt>-M</tt> and <tt>-C</tt> options require O(n^2) processing time where n
715 is the number of potential rename/copy targets. This
716 option prevents rename/copy detection from running if
717 the number of rename/copy targets exceeds the specified
718 number.
719 </p>
720 </dd>
721 <dt class="hdlist1">
722 -O&lt;orderfile&gt;
723 </dt>
724 <dd>
726 Output the patch in the order specified in the
727 &lt;orderfile&gt;, which has one shell glob pattern per line.
728 </p>
729 </dd>
730 <dt class="hdlist1">
732 </dt>
733 <dt class="hdlist1">
734 --text
735 </dt>
736 <dd>
738 Treat all files as text.
739 </p>
740 </dd>
741 <dt class="hdlist1">
742 --ignore-space-at-eol
743 </dt>
744 <dd>
746 Ignore changes in whitespace at EOL.
747 </p>
748 </dd>
749 <dt class="hdlist1">
751 </dt>
752 <dt class="hdlist1">
753 --ignore-space-change
754 </dt>
755 <dd>
757 Ignore changes in amount of whitespace. This ignores whitespace
758 at line end, and considers all other sequences of one or
759 more whitespace characters to be equivalent.
760 </p>
761 </dd>
762 <dt class="hdlist1">
764 </dt>
765 <dt class="hdlist1">
766 --ignore-all-space
767 </dt>
768 <dd>
770 Ignore whitespace when comparing lines. This ignores
771 differences even if one line has whitespace where the other
772 line has none.
773 </p>
774 </dd>
775 <dt class="hdlist1">
776 --inter-hunk-context=&lt;lines&gt;
777 </dt>
778 <dd>
780 Show the context between diff hunks, up to the specified number
781 of lines, thereby fusing hunks that are close to each other.
782 </p>
783 </dd>
784 <dt class="hdlist1">
785 --ext-diff
786 </dt>
787 <dd>
789 Allow an external diff helper to be executed. If you set an
790 external diff driver with <a href="gitattributes.html">gitattributes(5)</a>, you need
791 to use this option with <a href="git-log.html">git-log(1)</a> and friends.
792 </p>
793 </dd>
794 <dt class="hdlist1">
795 --no-ext-diff
796 </dt>
797 <dd>
799 Disallow external diff drivers.
800 </p>
801 </dd>
802 <dt class="hdlist1">
803 --ignore-submodules[=&lt;when&gt;]
804 </dt>
805 <dd>
807 Ignore changes to submodules in the diff generation. &lt;when&gt; can be
808 either "none", "untracked", "dirty" or "all", which is the default
809 Using "none" will consider the submodule modified when it either contains
810 untracked or modified files or its HEAD differs from the commit recorded
811 in the superproject and can be used to override any settings of the
812 <em>ignore</em> option in <a href="git-config.html">git-config(1)</a> or <a href="gitmodules.html">gitmodules(5)</a>. When
813 "untracked" is used submodules are not considered dirty when they only
814 contain untracked content (but they are still scanned for modified
815 content). Using "dirty" ignores all changes to the work tree of submodules,
816 only changes to the commits stored in the superproject are shown (this was
817 the behavior until 1.7.0). Using "all" hides all changes to submodules.
818 </p>
819 </dd>
820 <dt class="hdlist1">
821 --src-prefix=&lt;prefix&gt;
822 </dt>
823 <dd>
825 Show the given source prefix instead of "a/".
826 </p>
827 </dd>
828 <dt class="hdlist1">
829 --dst-prefix=&lt;prefix&gt;
830 </dt>
831 <dd>
833 Show the given destination prefix instead of "b/".
834 </p>
835 </dd>
836 <dt class="hdlist1">
837 --no-prefix
838 </dt>
839 <dd>
841 Do not show any source or destination prefix.
842 </p>
843 </dd>
844 </dl></div>
845 <div class="paragraph"><p>For more detailed explanation on these common options, see also
846 <a href="gitdiffcore.html">gitdiffcore(7)</a>.</p></div>
847 <div class="dlist"><dl>
848 <dt class="hdlist1">
849 -&lt;n&gt;
850 </dt>
851 <dd>
853 Prepare patches from the topmost &lt;n&gt; commits.
854 </p>
855 </dd>
856 <dt class="hdlist1">
857 -o &lt;dir&gt;
858 </dt>
859 <dt class="hdlist1">
860 --output-directory &lt;dir&gt;
861 </dt>
862 <dd>
864 Use &lt;dir&gt; to store the resulting files, instead of the
865 current working directory.
866 </p>
867 </dd>
868 <dt class="hdlist1">
870 </dt>
871 <dt class="hdlist1">
872 --numbered
873 </dt>
874 <dd>
876 Name output in <em>[PATCH n/m]</em> format, even with a single patch.
877 </p>
878 </dd>
879 <dt class="hdlist1">
881 </dt>
882 <dt class="hdlist1">
883 --no-numbered
884 </dt>
885 <dd>
887 Name output in <em>[PATCH]</em> format.
888 </p>
889 </dd>
890 <dt class="hdlist1">
891 --start-number &lt;n&gt;
892 </dt>
893 <dd>
895 Start numbering the patches at &lt;n&gt; instead of 1.
896 </p>
897 </dd>
898 <dt class="hdlist1">
899 --numbered-files
900 </dt>
901 <dd>
903 Output file names will be a simple number sequence
904 without the default first line of the commit appended.
905 </p>
906 </dd>
907 <dt class="hdlist1">
909 </dt>
910 <dt class="hdlist1">
911 --keep-subject
912 </dt>
913 <dd>
915 Do not strip/add <em>[PATCH]</em> from the first line of the
916 commit log message.
917 </p>
918 </dd>
919 <dt class="hdlist1">
921 </dt>
922 <dt class="hdlist1">
923 --signoff
924 </dt>
925 <dd>
927 Add <tt>Signed-off-by:</tt> line to the commit message, using
928 the committer identity of yourself.
929 </p>
930 </dd>
931 <dt class="hdlist1">
932 --stdout
933 </dt>
934 <dd>
936 Print all commits to the standard output in mbox format,
937 instead of creating a file for each one.
938 </p>
939 </dd>
940 <dt class="hdlist1">
941 --attach[=&lt;boundary&gt;]
942 </dt>
943 <dd>
945 Create multipart/mixed attachment, the first part of
946 which is the commit message and the patch itself in the
947 second part, with <tt>Content-Disposition: attachment</tt>.
948 </p>
949 </dd>
950 <dt class="hdlist1">
951 --no-attach
952 </dt>
953 <dd>
955 Disable the creation of an attachment, overriding the
956 configuration setting.
957 </p>
958 </dd>
959 <dt class="hdlist1">
960 --inline[=&lt;boundary&gt;]
961 </dt>
962 <dd>
964 Create multipart/mixed attachment, the first part of
965 which is the commit message and the patch itself in the
966 second part, with <tt>Content-Disposition: inline</tt>.
967 </p>
968 </dd>
969 <dt class="hdlist1">
970 --thread[=&lt;style&gt;]
971 </dt>
972 <dt class="hdlist1">
973 --no-thread
974 </dt>
975 <dd>
977 Controls addition of <tt>In-Reply-To</tt> and <tt>References</tt> headers to
978 make the second and subsequent mails appear as replies to the
979 first. Also controls generation of the <tt>Message-Id</tt> header to
980 reference.
981 </p>
982 <div class="paragraph"><p>The optional &lt;style&gt; argument can be either <tt>shallow</tt> or <tt>deep</tt>.
983 <em>shallow</em> threading makes every mail a reply to the head of the
984 series, where the head is chosen from the cover letter, the
985 <tt>--in-reply-to</tt>, and the first patch mail, in this order. <em>deep</em>
986 threading makes every mail a reply to the previous one.</p></div>
987 <div class="paragraph"><p>The default is <tt>--no-thread</tt>, unless the <em>format.thread</em> configuration
988 is set. If <tt>--thread</tt> is specified without a style, it defaults to the
989 style specified by <em>format.thread</em> if any, or else <tt>shallow</tt>.</p></div>
990 <div class="paragraph"><p>Beware that the default for <em>git send-email</em> is to thread emails
991 itself. If you want <tt>git format-patch</tt> to take care of threading, you
992 will want to ensure that threading is disabled for <tt>git send-email</tt>.</p></div>
993 </dd>
994 <dt class="hdlist1">
995 --in-reply-to=Message-Id
996 </dt>
997 <dd>
999 Make the first mail (or all the mails with <tt>--no-thread</tt>) appear as a
1000 reply to the given Message-Id, which avoids breaking threads to
1001 provide a new patch series.
1002 </p>
1003 </dd>
1004 <dt class="hdlist1">
1005 --ignore-if-in-upstream
1006 </dt>
1007 <dd>
1009 Do not include a patch that matches a commit in
1010 &lt;until&gt;..&lt;since&gt;. This will examine all patches reachable
1011 from &lt;since&gt; but not from &lt;until&gt; and compare them with the
1012 patches being generated, and any patch that matches is
1013 ignored.
1014 </p>
1015 </dd>
1016 <dt class="hdlist1">
1017 --subject-prefix=&lt;Subject-Prefix&gt;
1018 </dt>
1019 <dd>
1021 Instead of the standard <em>[PATCH]</em> prefix in the subject
1022 line, instead use <em>[&lt;Subject-Prefix&gt;]</em>. This
1023 allows for useful naming of a patch series, and can be
1024 combined with the <tt>--numbered</tt> option.
1025 </p>
1026 </dd>
1027 <dt class="hdlist1">
1028 --to=&lt;email&gt;
1029 </dt>
1030 <dd>
1032 Add a <tt>To:</tt> header to the email headers. This is in addition
1033 to any configured headers, and may be used multiple times.
1034 </p>
1035 </dd>
1036 <dt class="hdlist1">
1037 --cc=&lt;email&gt;
1038 </dt>
1039 <dd>
1041 Add a <tt>Cc:</tt> header to the email headers. This is in addition
1042 to any configured headers, and may be used multiple times.
1043 </p>
1044 </dd>
1045 <dt class="hdlist1">
1046 --add-header=&lt;header&gt;
1047 </dt>
1048 <dd>
1050 Add an arbitrary header to the email headers. This is in addition
1051 to any configured headers, and may be used multiple times.
1052 For example, <tt>--add-header="Organization: git-foo"</tt>
1053 </p>
1054 </dd>
1055 <dt class="hdlist1">
1056 --cover-letter
1057 </dt>
1058 <dd>
1060 In addition to the patches, generate a cover letter file
1061 containing the shortlog and the overall diffstat. You can
1062 fill in a description in the file before sending it out.
1063 </p>
1064 </dd>
1065 <dt class="hdlist1">
1066 --[no]-signature=&lt;signature&gt;
1067 </dt>
1068 <dd>
1070 Add a signature to each message produced. Per RFC 3676 the signature
1071 is separated from the body by a line with '-- ' on it. If the
1072 signature option is omitted the signature defaults to the git version
1073 number.
1074 </p>
1075 </dd>
1076 <dt class="hdlist1">
1077 --suffix=.&lt;sfx&gt;
1078 </dt>
1079 <dd>
1081 Instead of using <tt>.patch</tt> as the suffix for generated
1082 filenames, use specified suffix. A common alternative is
1083 <tt>--suffix=.txt</tt>. Leaving this empty will remove the <tt>.patch</tt>
1084 suffix.
1085 </p>
1086 <div class="paragraph"><p>Note that the leading character does not have to be a dot; for example,
1087 you can use <tt>--suffix=-patch</tt> to get <tt>0001-description-of-my-change-patch</tt>.</p></div>
1088 </dd>
1089 <dt class="hdlist1">
1090 --quiet
1091 </dt>
1092 <dd>
1094 Do not print the names of the generated files to standard output.
1095 </p>
1096 </dd>
1097 <dt class="hdlist1">
1098 --no-binary
1099 </dt>
1100 <dd>
1102 Do not output contents of changes in binary files, instead
1103 display a notice that those files changed. Patches generated
1104 using this option cannot be applied properly, but they are
1105 still useful for code review.
1106 </p>
1107 </dd>
1108 <dt class="hdlist1">
1109 --root
1110 </dt>
1111 <dd>
1113 Treat the revision argument as a &lt;revision range&gt;, even if it
1114 is just a single commit (that would normally be treated as a
1115 &lt;since&gt;). Note that root commits included in the specified
1116 range are always formatted as creation patches, independently
1117 of this flag.
1118 </p>
1119 </dd>
1120 </dl></div>
1121 </div>
1122 <h2 id="_configuration">CONFIGURATION</h2>
1123 <div class="sectionbody">
1124 <div class="paragraph"><p>You can specify extra mail header lines to be added to each message,
1125 defaults for the subject prefix and file suffix, number patches when
1126 outputting more than one patch, add "To" or "Cc:" headers, configure
1127 attachments, and sign off patches with configuration variables.</p></div>
1128 <div class="listingblock">
1129 <div class="content">
1130 <pre><tt>[format]
1131 headers = "Organization: git-foo\n"
1132 subjectprefix = CHANGE
1133 suffix = .txt
1134 numbered = auto
1135 to = &lt;email&gt;
1136 cc = &lt;email&gt;
1137 attach [ = mime-boundary-string ]
1138 signoff = true</tt></pre>
1139 </div></div>
1140 </div>
1141 <h2 id="_examples">EXAMPLES</h2>
1142 <div class="sectionbody">
1143 <div class="ulist"><ul>
1144 <li>
1146 Extract commits between revisions R1 and R2, and apply them on top of
1147 the current branch using <em>git am</em> to cherry-pick them:
1148 </p>
1149 <div class="listingblock">
1150 <div class="content">
1151 <pre><tt>$ git format-patch -k --stdout R1..R2 | git am -3 -k</tt></pre>
1152 </div></div>
1153 </li>
1154 <li>
1156 Extract all commits which are in the current branch but not in the
1157 origin branch:
1158 </p>
1159 <div class="listingblock">
1160 <div class="content">
1161 <pre><tt>$ git format-patch origin</tt></pre>
1162 </div></div>
1163 <div class="paragraph"><p>For each commit a separate file is created in the current directory.</p></div>
1164 </li>
1165 <li>
1167 Extract all commits that lead to <em>origin</em> since the inception of the
1168 project:
1169 </p>
1170 <div class="listingblock">
1171 <div class="content">
1172 <pre><tt>$ git format-patch --root origin</tt></pre>
1173 </div></div>
1174 </li>
1175 <li>
1177 The same as the previous one:
1178 </p>
1179 <div class="listingblock">
1180 <div class="content">
1181 <pre><tt>$ git format-patch -M -B origin</tt></pre>
1182 </div></div>
1183 <div class="paragraph"><p>Additionally, it detects and handles renames and complete rewrites
1184 intelligently to produce a renaming patch. A renaming patch reduces
1185 the amount of text output, and generally makes it easier to review.
1186 Note that non-git "patch" programs won&#8217;t understand renaming patches, so
1187 use it only when you know the recipient uses git to apply your patch.</p></div>
1188 </li>
1189 <li>
1191 Extract three topmost commits from the current branch and format them
1192 as e-mailable patches:
1193 </p>
1194 <div class="listingblock">
1195 <div class="content">
1196 <pre><tt>$ git format-patch -3</tt></pre>
1197 </div></div>
1198 </li>
1199 </ul></div>
1200 </div>
1201 <h2 id="_see_also">SEE ALSO</h2>
1202 <div class="sectionbody">
1203 <div class="paragraph"><p><a href="git-am.html">git-am(1)</a>, <a href="git-send-email.html">git-send-email(1)</a></p></div>
1204 </div>
1205 <h2 id="_git">GIT</h2>
1206 <div class="sectionbody">
1207 <div class="paragraph"><p>Part of the <a href="git.html">git(1)</a> suite</p></div>
1208 </div>
1209 <div id="footer">
1210 <div id="footer-text">
1211 Last updated 2011-04-27 21:09:28 UTC
1212 </div>
1213 </div>
1214 </body>
1215 </html>