OSDN Git Service

Add Git official document to help
[tortoisegit/TortoiseGitJp.git] / doc / source / en / TortoiseGit / git_doc / git-format-patch.html.xml
diff --git a/doc/source/en/TortoiseGit/git_doc/git-format-patch.html.xml b/doc/source/en/TortoiseGit/git_doc/git-format-patch.html.xml
new file mode 100644 (file)
index 0000000..6159ca1
--- /dev/null
@@ -0,0 +1,975 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">\r
+\r
+<article lang="en" id="git-format-patch(1)">\r
+<articleinfo>\r
+    <title>git-format-patch(1)</title>\r
+        <indexterm>\r
+                <primary>git-format-patch(1)</primary>\r
+        </indexterm>\r
+</articleinfo>\r
+<simplesect id="_name">\r
+<title>NAME</title>\r
+<simpara>git-format-patch - Prepare patches for e-mail submission</simpara>\r
+</simplesect>\r
+<simplesect id="_synopsis">\r
+<title>SYNOPSIS</title>\r
+<blockquote>\r
+<literallayout><emphasis>git format-patch</emphasis> [-k] [-o &lt;dir&gt; | --stdout] [--thread]\r
+                   [--attach[=&lt;boundary&gt;] | --inline[=&lt;boundary&gt;]]\r
+                   [-s | --signoff] [&lt;common diff options&gt;]\r
+                   [-n | --numbered | -N | --no-numbered]\r
+                   [--start-number &lt;n&gt;] [--numbered-files]\r
+                   [--in-reply-to=Message-Id] [--suffix=.&lt;sfx&gt;]\r
+                   [--ignore-if-in-upstream]\r
+                   [--subject-prefix=Subject-Prefix]\r
+                   [--cc=&lt;email&gt;]\r
+                   [--cover-letter]\r
+                   [ &lt;since&gt; | &lt;revision range&gt; ]</literallayout>\r
+</blockquote>\r
+</simplesect>\r
+<simplesect id="_description">\r
+<title>DESCRIPTION</title>\r
+<simpara>Prepare each commit with its patch in\r
+one file per commit, formatted to resemble UNIX mailbox format.\r
+The output of this command is convenient for e-mail submission or\r
+for use with <emphasis>git-am</emphasis>.</simpara>\r
+<simpara>There are two ways to specify which commits to operate on.</simpara>\r
+<orderedlist numeration="arabic">\r
+<listitem>\r
+<simpara>\r
+A single commit, &lt;since&gt;, specifies that the commits leading\r
+   to the tip of the current branch that are not in the history\r
+   that leads to the &lt;since&gt; to be output.\r
+</simpara>\r
+</listitem>\r
+<listitem>\r
+<simpara>\r
+Generic &lt;revision range&gt; expression (see "SPECIFYING\r
+   REVISIONS" section in <xref linkend="git-rev-parse(1)"/>) means the\r
+   commits in the specified range.\r
+</simpara>\r
+</listitem>\r
+</orderedlist>\r
+<simpara>A single commit, when interpreted as a &lt;revision range&gt;\r
+expression, means "everything that leads to that commit", but\r
+if you write <emphasis>git format-patch &lt;commit&gt;</emphasis>, the previous rule\r
+applies to that command line and you do not get "everything\r
+since the beginning of the time".  If you want to format\r
+everything since project inception to one commit, say "git\r
+format-patch --root &lt;commit&gt;" to make it clear that it is the\r
+latter case.  If you want to format a single commit, you can do\r
+this with "git format-patch -1 &lt;commit&gt;".</simpara>\r
+<simpara>By default, each output file is numbered sequentially from 1, and uses the\r
+first line of the commit message (massaged for pathname safety) as\r
+the filename. With the --numbered-files option, the output file names\r
+will only be numbers, without the first line of the commit appended.\r
+The names of the output files are printed to standard\r
+output, unless the --stdout option is specified.</simpara>\r
+<simpara>If -o is specified, output files are created in &lt;dir&gt;.  Otherwise\r
+they are created in the current working directory.</simpara>\r
+<simpara>By default, the subject of a single patch is "[PATCH] First Line" and\r
+the subject when multiple patches are output is "[PATCH n/m] First\r
+Line". To force 1/1 to be added for a single patch, use -n.  To omit\r
+patch numbers from the subject, use -N</simpara>\r
+<simpara>If given --thread, <emphasis>git-format-patch</emphasis> will generate In-Reply-To and\r
+References headers to make the second and subsequent patch mails appear\r
+as replies to the first mail; this also generates a Message-Id header to\r
+reference.</simpara>\r
+</simplesect>\r
+<simplesect id="_options">\r
+<title>OPTIONS</title>\r
+<variablelist>\r
+<varlistentry>\r
+<term>\r
+-p\r
+</term>\r
+<listitem>\r
+<simpara>\r
+        Generate patches without diffstat.\r
+</simpara>\r
+</listitem>\r
+</varlistentry>\r
+<varlistentry>\r
+<term>\r
+-U&lt;n&gt;\r
+</term>\r
+<term>\r
+--unified=&lt;n&gt;\r
+</term>\r
+<listitem>\r
+<simpara>\r
+        Generate diffs with &lt;n&gt; lines of context instead of\r
+        the usual three. Implies "-p".\r
+</simpara>\r
+</listitem>\r
+</varlistentry>\r
+<varlistentry>\r
+<term>\r
+--raw\r
+</term>\r
+<listitem>\r
+<simpara>\r
+        Generate the raw format.\r
+        \r
+</simpara>\r
+</listitem>\r
+</varlistentry>\r
+<varlistentry>\r
+<term>\r
+--patch-with-raw\r
+</term>\r
+<listitem>\r
+<simpara>\r
+        Synonym for "-p --raw".\r
+</simpara>\r
+</listitem>\r
+</varlistentry>\r
+<varlistentry>\r
+<term>\r
+--patience\r
+</term>\r
+<listitem>\r
+<simpara>\r
+        Generate a diff using the "patience diff" algorithm.\r
+</simpara>\r
+</listitem>\r
+</varlistentry>\r
+<varlistentry>\r
+<term>\r
+--stat[=width[,name-width]]\r
+</term>\r
+<listitem>\r
+<simpara>\r
+        Generate a diffstat.  You can override the default\r
+        output width for 80-column terminal by "--stat=width".\r
+        The width of the filename part can be controlled by\r
+        giving another width to it separated by a comma.\r
+</simpara>\r
+</listitem>\r
+</varlistentry>\r
+<varlistentry>\r
+<term>\r
+--numstat\r
+</term>\r
+<listitem>\r
+<simpara>\r
+        Similar to --stat, but shows number of added and\r
+        deleted lines in decimal notation and pathname without\r
+        abbreviation, to make it more machine friendly.  For\r
+        binary files, outputs two <literal>-</literal> instead of saying\r
+        <literal>0 0</literal>.\r
+</simpara>\r
+</listitem>\r
+</varlistentry>\r
+<varlistentry>\r
+<term>\r
+--shortstat\r
+</term>\r
+<listitem>\r
+<simpara>\r
+        Output only the last line of the --stat format containing total\r
+        number of modified files, as well as number of added and deleted\r
+        lines.\r
+</simpara>\r
+</listitem>\r
+</varlistentry>\r
+<varlistentry>\r
+<term>\r
+--dirstat[=limit]\r
+</term>\r
+<listitem>\r
+<simpara>\r
+        Output the distribution of relative amount of changes (number of lines added or\r
+        removed) for each sub-directory. Directories with changes below\r
+        a cut-off percent (3% by default) are not shown. The cut-off percent\r
+        can be set with "--dirstat=limit". Changes in a child directory is not\r
+        counted for the parent directory, unless "--cumulative" is used.\r
+</simpara>\r
+</listitem>\r
+</varlistentry>\r
+<varlistentry>\r
+<term>\r
+--dirstat-by-file[=limit]\r
+</term>\r
+<listitem>\r
+<simpara>\r
+        Same as --dirstat, but counts changed files instead of lines.\r
+</simpara>\r
+</listitem>\r
+</varlistentry>\r
+<varlistentry>\r
+<term>\r
+--summary\r
+</term>\r
+<listitem>\r
+<simpara>\r
+        Output a condensed summary of extended header information\r
+        such as creations, renames and mode changes.\r
+</simpara>\r
+</listitem>\r
+</varlistentry>\r
+<varlistentry>\r
+<term>\r
+--patch-with-stat\r
+</term>\r
+<listitem>\r
+<simpara>\r
+        Synonym for "-p --stat".\r
+         This is the default.\r
+</simpara>\r
+</listitem>\r
+</varlistentry>\r
+<varlistentry>\r
+<term>\r
+-z\r
+</term>\r
+<listitem>\r
+<simpara>\r
+        NUL-line termination on output.  This affects the --raw\r
+        output field terminator.  Also output from commands such\r
+        as "git-log" will be delimited with NUL between commits.\r
+</simpara>\r
+</listitem>\r
+</varlistentry>\r
+<varlistentry>\r
+<term>\r
+--name-only\r
+</term>\r
+<listitem>\r
+<simpara>\r
+        Show only names of changed files.\r
+</simpara>\r
+</listitem>\r
+</varlistentry>\r
+<varlistentry>\r
+<term>\r
+--name-status\r
+</term>\r
+<listitem>\r
+<simpara>\r
+        Show only names and status of changed files. See the description\r
+        of the <literal>--diff-filter</literal> option on what the status letters mean.\r
+</simpara>\r
+</listitem>\r
+</varlistentry>\r
+<varlistentry>\r
+<term>\r
+--color\r
+</term>\r
+<listitem>\r
+<simpara>\r
+        Show colored diff.\r
+</simpara>\r
+</listitem>\r
+</varlistentry>\r
+<varlistentry>\r
+<term>\r
+--no-color\r
+</term>\r
+<listitem>\r
+<simpara>\r
+        Turn off colored diff, even when the configuration file\r
+        gives the default to color output.\r
+</simpara>\r
+</listitem>\r
+</varlistentry>\r
+<varlistentry>\r
+<term>\r
+--color-words[=&lt;regex&gt;]\r
+</term>\r
+<listitem>\r
+<simpara>\r
+        Show colored word diff, i.e., color words which have changed.\r
+        By default, words are separated by whitespace.\r
+</simpara>\r
+<simpara>When a &lt;regex&gt; is specified, every non-overlapping match of the\r
+&lt;regex&gt; is considered a word.  Anything between these matches is\r
+considered whitespace and ignored(!) for the purposes of finding\r
+differences.  You may want to append <literal>|[^[:space:]]</literal> to your regular\r
+expression to make sure that it matches all non-whitespace characters.\r
+A match that contains a newline is silently truncated(!) at the\r
+newline.</simpara>\r
+<simpara>The regex can also be set via a diff driver or configuration option, see\r
+<xref linkend="gitattributes(1)"/> or <xref linkend="git-config(1)"/>.  Giving it explicitly\r
+overrides any diff driver or configuration setting.  Diff drivers\r
+override configuration settings.</simpara>\r
+</listitem>\r
+</varlistentry>\r
+<varlistentry>\r
+<term>\r
+--no-renames\r
+</term>\r
+<listitem>\r
+<simpara>\r
+        Turn off rename detection, even when the configuration\r
+        file gives the default to do so.\r
+</simpara>\r
+</listitem>\r
+</varlistentry>\r
+<varlistentry>\r
+<term>\r
+--check\r
+</term>\r
+<listitem>\r
+<simpara>\r
+        Warn if changes introduce trailing whitespace\r
+        or an indent that uses a space before a tab. Exits with\r
+        non-zero status if problems are found. Not compatible with\r
+        --exit-code.\r
+</simpara>\r
+</listitem>\r
+</varlistentry>\r
+<varlistentry>\r
+<term>\r
+--full-index\r
+</term>\r
+<listitem>\r
+<simpara>\r
+        Instead of the first handful of characters, show the full\r
+        pre- and post-image blob object names on the "index"\r
+        line when generating patch format output.\r
+</simpara>\r
+</listitem>\r
+</varlistentry>\r
+<varlistentry>\r
+<term>\r
+--binary\r
+</term>\r
+<listitem>\r
+<simpara>\r
+        In addition to --full-index, output "binary diff" that\r
+        can be applied with "git apply".\r
+</simpara>\r
+</listitem>\r
+</varlistentry>\r
+<varlistentry>\r
+<term>\r
+--abbrev[=&lt;n&gt;]\r
+</term>\r
+<listitem>\r
+<simpara>\r
+        Instead of showing the full 40-byte hexadecimal object\r
+        name in diff-raw format output and diff-tree header\r
+        lines, show only a partial prefix.  This is\r
+        independent of --full-index option above, which controls\r
+        the diff-patch output format.  Non default number of\r
+        digits can be specified with --abbrev=&lt;n&gt;.\r
+</simpara>\r
+</listitem>\r
+</varlistentry>\r
+<varlistentry>\r
+<term>\r
+-B\r
+</term>\r
+<listitem>\r
+<simpara>\r
+        Break complete rewrite changes into pairs of delete and create.\r
+</simpara>\r
+</listitem>\r
+</varlistentry>\r
+<varlistentry>\r
+<term>\r
+-M\r
+</term>\r
+<listitem>\r
+<simpara>\r
+        Detect renames.\r
+</simpara>\r
+</listitem>\r
+</varlistentry>\r
+<varlistentry>\r
+<term>\r
+-C\r
+</term>\r
+<listitem>\r
+<simpara>\r
+        Detect copies as well as renames.  See also <literal>--find-copies-harder</literal>.\r
+</simpara>\r
+</listitem>\r
+</varlistentry>\r
+<varlistentry>\r
+<term>\r
+--diff-filter=[ACDMRTUXB*]\r
+</term>\r
+<listitem>\r
+<simpara>\r
+        Select only files that are Added (<literal>A</literal>), Copied (<literal>C</literal>),\r
+        Deleted (<literal>D</literal>), Modified (<literal>M</literal>), Renamed (<literal>R</literal>), have their\r
+        type (i.e. regular file, symlink, submodule, &#8230;) changed (<literal>T</literal>),\r
+        are Unmerged (<literal>U</literal>), are\r
+        Unknown (<literal>X</literal>), or have had their pairing Broken (<literal>B</literal>).\r
+        Any combination of the filter characters may be used.\r
+        When <literal>*</literal> (All-or-none) is added to the combination, all\r
+        paths are selected if there is any file that matches\r
+        other criteria in the comparison; if there is no file\r
+        that matches other criteria, nothing is selected.\r
+</simpara>\r
+</listitem>\r
+</varlistentry>\r
+<varlistentry>\r
+<term>\r
+--find-copies-harder\r
+</term>\r
+<listitem>\r
+<simpara>\r
+        For performance reasons, by default, <literal>-C</literal> option finds copies only\r
+        if the original file of the copy was modified in the same\r
+        changeset.  This flag makes the command\r
+        inspect unmodified files as candidates for the source of\r
+        copy.  This is a very expensive operation for large\r
+        projects, so use it with caution.  Giving more than one\r
+        <literal>-C</literal> option has the same effect.\r
+</simpara>\r
+</listitem>\r
+</varlistentry>\r
+<varlistentry>\r
+<term>\r
+-l&lt;num&gt;\r
+</term>\r
+<listitem>\r
+<simpara>\r
+        -M and -C options require O(n^2) processing time where n\r
+        is the number of potential rename/copy targets.  This\r
+        option prevents rename/copy detection from running if\r
+        the number of rename/copy targets exceeds the specified\r
+        number.\r
+</simpara>\r
+</listitem>\r
+</varlistentry>\r
+<varlistentry>\r
+<term>\r
+-S&lt;string&gt;\r
+</term>\r
+<listitem>\r
+<simpara>\r
+        Look for differences that contain the change in &lt;string&gt;.\r
+</simpara>\r
+</listitem>\r
+</varlistentry>\r
+<varlistentry>\r
+<term>\r
+--pickaxe-all\r
+</term>\r
+<listitem>\r
+<simpara>\r
+        When -S finds a change, show all the changes in that\r
+        changeset, not just the files that contain the change\r
+        in &lt;string&gt;.\r
+</simpara>\r
+</listitem>\r
+</varlistentry>\r
+<varlistentry>\r
+<term>\r
+--pickaxe-regex\r
+</term>\r
+<listitem>\r
+<simpara>\r
+        Make the &lt;string&gt; not a plain string but an extended POSIX\r
+        regex to match.\r
+</simpara>\r
+</listitem>\r
+</varlistentry>\r
+<varlistentry>\r
+<term>\r
+-O&lt;orderfile&gt;\r
+</term>\r
+<listitem>\r
+<simpara>\r
+        Output the patch in the order specified in the\r
+        &lt;orderfile&gt;, which has one shell glob pattern per line.\r
+</simpara>\r
+</listitem>\r
+</varlistentry>\r
+<varlistentry>\r
+<term>\r
+-R\r
+</term>\r
+<listitem>\r
+<simpara>\r
+        Swap two inputs; that is, show differences from index or\r
+        on-disk file to tree contents.\r
+</simpara>\r
+</listitem>\r
+</varlistentry>\r
+<varlistentry>\r
+<term>\r
+--relative[=&lt;path&gt;]\r
+</term>\r
+<listitem>\r
+<simpara>\r
+        When run from a subdirectory of the project, it can be\r
+        told to exclude changes outside the directory and show\r
+        pathnames relative to it with this option.  When you are\r
+        not in a subdirectory (e.g. in a bare repository), you\r
+        can name which subdirectory to make the output relative\r
+        to by giving a &lt;path&gt; as an argument.\r
+</simpara>\r
+</listitem>\r
+</varlistentry>\r
+<varlistentry>\r
+<term>\r
+-a\r
+</term>\r
+<term>\r
+--text\r
+</term>\r
+<listitem>\r
+<simpara>\r
+        Treat all files as text.\r
+</simpara>\r
+</listitem>\r
+</varlistentry>\r
+<varlistentry>\r
+<term>\r
+--ignore-space-at-eol\r
+</term>\r
+<listitem>\r
+<simpara>\r
+        Ignore changes in whitespace at EOL.\r
+</simpara>\r
+</listitem>\r
+</varlistentry>\r
+<varlistentry>\r
+<term>\r
+-b\r
+</term>\r
+<term>\r
+--ignore-space-change\r
+</term>\r
+<listitem>\r
+<simpara>\r
+        Ignore changes in amount of whitespace.  This ignores whitespace\r
+        at line end, and considers all other sequences of one or\r
+        more whitespace characters to be equivalent.\r
+</simpara>\r
+</listitem>\r
+</varlistentry>\r
+<varlistentry>\r
+<term>\r
+-w\r
+</term>\r
+<term>\r
+--ignore-all-space\r
+</term>\r
+<listitem>\r
+<simpara>\r
+        Ignore whitespace when comparing lines.  This ignores\r
+        differences even if one line has whitespace where the other\r
+        line has none.\r
+</simpara>\r
+</listitem>\r
+</varlistentry>\r
+<varlistentry>\r
+<term>\r
+--inter-hunk-context=&lt;lines&gt;\r
+</term>\r
+<listitem>\r
+<simpara>\r
+        Show the context between diff hunks, up to the specified number\r
+        of lines, thereby fusing hunks that are close to each other.\r
+</simpara>\r
+</listitem>\r
+</varlistentry>\r
+<varlistentry>\r
+<term>\r
+--exit-code\r
+</term>\r
+<listitem>\r
+<simpara>\r
+        Make the program exit with codes similar to diff(1).\r
+        That is, it exits with 1 if there were differences and\r
+        0 means no differences.\r
+</simpara>\r
+</listitem>\r
+</varlistentry>\r
+<varlistentry>\r
+<term>\r
+--quiet\r
+</term>\r
+<listitem>\r
+<simpara>\r
+        Disable all output of the program. Implies --exit-code.\r
+</simpara>\r
+</listitem>\r
+</varlistentry>\r
+<varlistentry>\r
+<term>\r
+--ext-diff\r
+</term>\r
+<listitem>\r
+<simpara>\r
+        Allow an external diff helper to be executed. If you set an\r
+        external diff driver with <xref linkend="gitattributes(5)"/>, you need\r
+        to use this option with <xref linkend="git-log(1)"/> and friends.\r
+</simpara>\r
+</listitem>\r
+</varlistentry>\r
+<varlistentry>\r
+<term>\r
+--no-ext-diff\r
+</term>\r
+<listitem>\r
+<simpara>\r
+        Disallow external diff drivers.\r
+</simpara>\r
+</listitem>\r
+</varlistentry>\r
+<varlistentry>\r
+<term>\r
+--ignore-submodules\r
+</term>\r
+<listitem>\r
+<simpara>\r
+        Ignore changes to submodules in the diff generation.\r
+</simpara>\r
+</listitem>\r
+</varlistentry>\r
+<varlistentry>\r
+<term>\r
+--src-prefix=&lt;prefix&gt;\r
+</term>\r
+<listitem>\r
+<simpara>\r
+        Show the given source prefix instead of "a/".\r
+</simpara>\r
+</listitem>\r
+</varlistentry>\r
+<varlistentry>\r
+<term>\r
+--dst-prefix=&lt;prefix&gt;\r
+</term>\r
+<listitem>\r
+<simpara>\r
+        Show the given destination prefix instead of "b/".\r
+</simpara>\r
+</listitem>\r
+</varlistentry>\r
+<varlistentry>\r
+<term>\r
+--no-prefix\r
+</term>\r
+<listitem>\r
+<simpara>\r
+        Do not show any source or destination prefix.\r
+</simpara>\r
+</listitem>\r
+</varlistentry>\r
+</variablelist>\r
+<simpara>For more detailed explanation on these common options, see also\r
+<xref linkend="gitdiffcore(7)"/>.</simpara>\r
+<variablelist>\r
+<varlistentry>\r
+<term>\r
+-&lt;n&gt;\r
+</term>\r
+<listitem>\r
+<simpara>\r
+        Limits the number of patches to prepare.\r
+</simpara>\r
+</listitem>\r
+</varlistentry>\r
+<varlistentry>\r
+<term>\r
+-o &lt;dir&gt;\r
+</term>\r
+<term>\r
+--output-directory &lt;dir&gt;\r
+</term>\r
+<listitem>\r
+<simpara>\r
+        Use &lt;dir&gt; to store the resulting files, instead of the\r
+        current working directory.\r
+</simpara>\r
+</listitem>\r
+</varlistentry>\r
+<varlistentry>\r
+<term>\r
+-n\r
+</term>\r
+<term>\r
+--numbered\r
+</term>\r
+<listitem>\r
+<simpara>\r
+        Name output in <emphasis>[PATCH n/m]</emphasis> format, even with a single patch.\r
+</simpara>\r
+</listitem>\r
+</varlistentry>\r
+<varlistentry>\r
+<term>\r
+-N\r
+</term>\r
+<term>\r
+--no-numbered\r
+</term>\r
+<listitem>\r
+<simpara>\r
+        Name output in <emphasis>[PATCH]</emphasis> format.\r
+</simpara>\r
+</listitem>\r
+</varlistentry>\r
+<varlistentry>\r
+<term>\r
+--start-number &lt;n&gt;\r
+</term>\r
+<listitem>\r
+<simpara>\r
+        Start numbering the patches at &lt;n&gt; instead of 1.\r
+</simpara>\r
+</listitem>\r
+</varlistentry>\r
+<varlistentry>\r
+<term>\r
+--numbered-files\r
+</term>\r
+<listitem>\r
+<simpara>\r
+        Output file names will be a simple number sequence\r
+        without the default first line of the commit appended.\r
+        Mutually exclusive with the --stdout option.\r
+</simpara>\r
+</listitem>\r
+</varlistentry>\r
+<varlistentry>\r
+<term>\r
+-k\r
+</term>\r
+<term>\r
+--keep-subject\r
+</term>\r
+<listitem>\r
+<simpara>\r
+        Do not strip/add <emphasis>[PATCH]</emphasis> from the first line of the\r
+        commit log message.\r
+</simpara>\r
+</listitem>\r
+</varlistentry>\r
+<varlistentry>\r
+<term>\r
+-s\r
+</term>\r
+<term>\r
+--signoff\r
+</term>\r
+<listitem>\r
+<simpara>\r
+        Add <literal>Signed-off-by:</literal> line to the commit message, using\r
+        the committer identity of yourself.\r
+</simpara>\r
+</listitem>\r
+</varlistentry>\r
+<varlistentry>\r
+<term>\r
+--stdout\r
+</term>\r
+<listitem>\r
+<simpara>\r
+        Print all commits to the standard output in mbox format,\r
+        instead of creating a file for each one.\r
+</simpara>\r
+</listitem>\r
+</varlistentry>\r
+<varlistentry>\r
+<term>\r
+--attach[=&lt;boundary&gt;]\r
+</term>\r
+<listitem>\r
+<simpara>\r
+        Create multipart/mixed attachment, the first part of\r
+        which is the commit message and the patch itself in the\r
+        second part, with "Content-Disposition: attachment".\r
+</simpara>\r
+</listitem>\r
+</varlistentry>\r
+<varlistentry>\r
+<term>\r
+--inline[=&lt;boundary&gt;]\r
+</term>\r
+<listitem>\r
+<simpara>\r
+        Create multipart/mixed attachment, the first part of\r
+        which is the commit message and the patch itself in the\r
+        second part, with "Content-Disposition: inline".\r
+</simpara>\r
+</listitem>\r
+</varlistentry>\r
+<varlistentry>\r
+<term>\r
+--thread\r
+</term>\r
+<listitem>\r
+<simpara>\r
+        Add In-Reply-To and References headers to make the second and\r
+        subsequent mails appear as replies to the first.  Also generates\r
+        the Message-Id header to reference.\r
+</simpara>\r
+</listitem>\r
+</varlistentry>\r
+<varlistentry>\r
+<term>\r
+--in-reply-to=Message-Id\r
+</term>\r
+<listitem>\r
+<simpara>\r
+        Make the first mail (or all the mails with --no-thread) appear as a\r
+        reply to the given Message-Id, which avoids breaking threads to\r
+        provide a new patch series.\r
+</simpara>\r
+</listitem>\r
+</varlistentry>\r
+<varlistentry>\r
+<term>\r
+--ignore-if-in-upstream\r
+</term>\r
+<listitem>\r
+<simpara>\r
+        Do not include a patch that matches a commit in\r
+        &lt;until&gt;..&lt;since&gt;.  This will examine all patches reachable\r
+        from &lt;since&gt; but not from &lt;until&gt; and compare them with the\r
+        patches being generated, and any patch that matches is\r
+        ignored.\r
+</simpara>\r
+</listitem>\r
+</varlistentry>\r
+<varlistentry>\r
+<term>\r
+--subject-prefix=&lt;Subject-Prefix&gt;\r
+</term>\r
+<listitem>\r
+<simpara>\r
+        Instead of the standard <emphasis>[PATCH]</emphasis> prefix in the subject\r
+        line, instead use <emphasis>[&lt;Subject-Prefix&gt;]</emphasis>. This\r
+        allows for useful naming of a patch series, and can be\r
+        combined with the --numbered option.\r
+</simpara>\r
+</listitem>\r
+</varlistentry>\r
+<varlistentry>\r
+<term>\r
+--cc=&lt;email&gt;\r
+</term>\r
+<listitem>\r
+<simpara>\r
+        Add a "Cc:" header to the email headers. This is in addition\r
+        to any configured headers, and may be used multiple times.\r
+</simpara>\r
+</listitem>\r
+</varlistentry>\r
+<varlistentry>\r
+<term>\r
+--cover-letter\r
+</term>\r
+<listitem>\r
+<simpara>\r
+        In addition to the patches, generate a cover letter file\r
+        containing the shortlog and the overall diffstat.  You can\r
+        fill in a description in the file before sending it out.\r
+</simpara>\r
+</listitem>\r
+</varlistentry>\r
+<varlistentry>\r
+<term>\r
+--suffix=.&lt;sfx&gt;\r
+</term>\r
+<listitem>\r
+<simpara>\r
+        Instead of using <literal>.patch</literal> as the suffix for generated\r
+        filenames, use specified suffix.  A common alternative is\r
+        <literal>--suffix=.txt</literal>.\r
+</simpara>\r
+<simpara>Note that you would need to include the leading dot <literal>.</literal> if you\r
+want a filename like <literal>0001-description-of-my-change.patch</literal>, and\r
+the first letter does not have to be a dot.  Leaving it empty would\r
+not add any suffix.</simpara>\r
+</listitem>\r
+</varlistentry>\r
+<varlistentry>\r
+<term>\r
+--no-binary\r
+</term>\r
+<listitem>\r
+<simpara>\r
+        Don&#8217;t output contents of changes in binary files, just take note\r
+        that they differ.  Note that this disable the patch to be properly\r
+        applied.  By default the contents of changes in those files are\r
+        encoded in the patch.\r
+</simpara>\r
+</listitem>\r
+</varlistentry>\r
+</variablelist>\r
+</simplesect>\r
+<simplesect id="_configuration">\r
+<title>CONFIGURATION</title>\r
+<simpara>You can specify extra mail header lines to be added to each message\r
+in the repository configuration, new defaults for the subject prefix\r
+and file suffix, and number patches when outputting more than one.</simpara>\r
+<literallayout>[format]\r
+        headers = "Organization: git-foo\n"\r
+        subjectprefix = CHANGE\r
+        suffix = .txt\r
+        numbered = auto\r
+        cc = &lt;email&gt;</literallayout>\r
+</simplesect>\r
+<simplesect id="_examples">\r
+<title>EXAMPLES</title>\r
+<itemizedlist>\r
+<listitem>\r
+<simpara>\r
+Extract commits between revisions R1 and R2, and apply them on top of\r
+the current branch using <emphasis>git-am</emphasis> to cherry-pick them:\r
+</simpara>\r
+<literallayout>$ git format-patch -k --stdout R1..R2 | git am -3 -k</literallayout>\r
+</listitem>\r
+<listitem>\r
+<simpara>\r
+Extract all commits which are in the current branch but not in the\r
+origin branch:\r
+</simpara>\r
+<literallayout>$ git format-patch origin</literallayout>\r
+<simpara>For each commit a separate file is created in the current directory.</simpara>\r
+</listitem>\r
+<listitem>\r
+<simpara>\r
+Extract all commits that lead to <emphasis>origin</emphasis> since the inception of the\r
+project:\r
+</simpara>\r
+<literallayout>$ git format-patch --root origin</literallayout>\r
+</listitem>\r
+<listitem>\r
+<simpara>\r
+The same as the previous one:\r
+</simpara>\r
+<literallayout>$ git format-patch -M -B origin</literallayout>\r
+<simpara>Additionally, it detects and handles renames and complete rewrites\r
+intelligently to produce a renaming patch.  A renaming patch reduces\r
+the amount of text output, and generally makes it easier to review it.\r
+Note that the "patch" program does not understand renaming patches, so\r
+use it only when you know the recipient uses git to apply your patch.</simpara>\r
+</listitem>\r
+<listitem>\r
+<simpara>\r
+Extract three topmost commits from the current branch and format them\r
+as e-mailable patches:\r
+</simpara>\r
+<literallayout>$ git format-patch -3</literallayout>\r
+</listitem>\r
+</itemizedlist>\r
+</simplesect>\r
+<simplesect id="_see_also">\r
+<title>SEE ALSO</title>\r
+<simpara><xref linkend="git-am(1)"/>, <xref linkend="git-send-email(1)"/></simpara>\r
+</simplesect>\r
+<simplesect id="_author">\r
+<title>Author</title>\r
+<simpara>Written by Junio C Hamano &lt;<ulink url="mailto:gitster@pobox.com">gitster@pobox.com</ulink>&gt;</simpara>\r
+</simplesect>\r
+<simplesect id="_documentation">\r
+<title>Documentation</title>\r
+<simpara>Documentation by Junio C Hamano and the git-list &lt;<ulink url="mailto:git@vger.kernel.org">git@vger.kernel.org</ulink>&gt;.</simpara>\r
+</simplesect>\r
+<simplesect id="_git">\r
+<title>GIT</title>\r
+<simpara>Part of the <xref linkend="git(1)"/> suite</simpara>\r
+</simplesect>\r
+</article>\r