X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=Documentation%2Fgit-format-patch.txt;h=651efe6ca16a02841c49f4b6a57ae2cf5ae8183d;hb=972b9a85301e1576c0fb84555396015663a65452;hp=0ca58a7eb36fb4b29ea485a098a12660360a2252;hpb=ed5f07a6fdc5653e24a5bd6c216d12bc878496bd;p=git.git diff --git a/Documentation/git-format-patch.txt b/Documentation/git-format-patch.txt index 0ca58a7eb..651efe6ca 100644 --- a/Documentation/git-format-patch.txt +++ b/Documentation/git-format-patch.txt @@ -9,30 +9,48 @@ git-format-patch - Prepare patches for e-mail submission SYNOPSIS -------- [verse] -'git-format-patch' [-n | -k] [-o | --stdout] [--thread] +'git-format-patch' [-k] [-o | --stdout] [--thread] [--attach[=] | --inline[=]] - [-s | --signoff] [] [--start-number ] + [-s | --signoff] [] + [-n | --numbered | -N | --no-numbered] + [--start-number ] [--numbered-files] [--in-reply-to=Message-Id] [--suffix=.] [--ignore-if-in-upstream] [--subject-prefix=Subject-Prefix] - [..] + [ | ] DESCRIPTION ----------- -Prepare each commit between and with its patch in +Prepare each commit with its patch in one file per commit, formatted to resemble UNIX mailbox format. -If .. is not specified, the head of the current working -tree is implied. For a more complete list of ways to spell - and , see "SPECIFYING REVISIONS" section in -gitlink:git-rev-parse[1]. - The output of this command is convenient for e-mail submission or -for use with gitlink:git-am[1]. +for use with linkgit:git-am[1]. + +There are two ways to specify which commits to operate on. + +1. A single commit, , specifies that the commits leading + to the tip of the current branch that are not in the history + that leads to the to be output. + +2. Generic expression (see "SPECIFYING + REVISIONS" section in linkgit:git-rev-parse[1]) means the + commits in the specified range. + +A single commit, when interpreted as a +expression, means "everything that leads to that commit", but +if you write 'git format-patch ', the previous rule +applies to that command line and you do not get "everything +since the beginning of the time". If you want to format +everything since project inception to one commit, say "git +format-patch \--root " to make it clear that it is the +latter case. -Each output file is numbered sequentially from 1, and uses the +By default, each output file is numbered sequentially from 1, and uses the first line of the commit message (massaged for pathname safety) as -the filename. The names of the output files are printed to standard +the filename. With the --numbered-files option, the output file names +will only be numbers, without the first line of the commit appended. +The names of the output files are printed to standard output, unless the --stdout option is specified. If -o is specified, output files are created in . Otherwise @@ -48,6 +66,7 @@ reference. OPTIONS ------- +:git-format-patch: 1 include::diff-options.txt[] -:: @@ -60,9 +79,17 @@ include::diff-options.txt[] -n|--numbered:: Name output in '[PATCH n/m]' format. +-N|--no-numbered:: + Name output in '[PATCH]' format. + --start-number :: Start numbering the patches at instead of 1. +--numbered-files:: + Output file names will be a simple number sequence + without the default first line of the commit appended. + Mutually exclusive with the --stdout option. + -k|--keep-subject:: Do not strip/add '[PATCH]' from the first line of the commit log message. @@ -110,7 +137,7 @@ include::diff-options.txt[] --suffix=.:: Instead of using `.patch` as the suffix for generated - filenames, use specifed suffix. A common alternative is + filenames, use specified suffix. A common alternative is `--suffix=.txt`. + Note that you would need to include the leading dot `.` if you @@ -120,14 +147,16 @@ not add any suffix. CONFIGURATION ------------- -You can specify extra mail header lines to be added to each -message in the repository configuration. Also you can specify -the default suffix different from the built-in one: +You can specify extra mail header lines to be added to each message +in the repository configuration, new defaults for the subject prefix +and file suffix, and number patches when outputting more than one. ------------ [format] headers = "Organization: git-foo\n" + subjectprefix = CHANGE suffix = .txt + numbered = auto ------------ @@ -144,6 +173,10 @@ git-format-patch origin:: not in the origin branch. For each commit a separate file is created in the current directory. +git-format-patch \--root origin:: + Extract all commits that lead to 'origin' since the + inception of the project. + git-format-patch -M -B origin:: The same as the previous one. Additionally, it detects and handles renames and complete rewrites intelligently to @@ -159,7 +192,7 @@ git-format-patch -3:: See Also -------- -gitlink:git-am[1], gitlink:git-send-email[1] +linkgit:git-am[1], linkgit:git-send-email[1] Author @@ -172,5 +205,4 @@ Documentation by Junio C Hamano and the git-list . GIT --- -Part of the gitlink:git[7] suite - +Part of the linkgit:git[7] suite