X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=Documentation%2Fgit-format-patch.txt;h=c9857a2d62e55edaf7e71c1a89ae09c8ae2423d2;hb=08fbb136f7440eac96f4e4396316aff36526f299;hp=a33d157b970740aa7d056ebb459350de89513a8b;hpb=76026200eee9fea016c2d87f472bb13cb15f47b2;p=git.git diff --git a/Documentation/git-format-patch.txt b/Documentation/git-format-patch.txt index a33d157b9..c9857a2d6 100644 --- a/Documentation/git-format-patch.txt +++ b/Documentation/git-format-patch.txt @@ -11,28 +11,45 @@ SYNOPSIS [verse] 'git-format-patch' [-n | -k] [-o | --stdout] [--thread] [--attach[=] | --inline[=]] - [-s | --signoff] [] [--start-number ] + [-s | --signoff] [] + [--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]. -Each output file is numbered sequentially from 1, and uses the +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 gitlink: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. + +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 @@ -50,6 +67,9 @@ OPTIONS ------- include::diff-options.txt[] +-:: + Limits the number of patches to prepare. + -o|--output-directory :: Use to store the resulting files, instead of the current working directory. @@ -60,6 +80,11 @@ include::diff-options.txt[] --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. @@ -107,7 +132,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 @@ -118,12 +143,13 @@ 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: +message in the repository configuration. You can also specify +new defaults for the subject prefix and file suffix. ------------ [format] headers = "Organization: git-foo\n" + subjectprefix = CHANGE suffix = .txt ------------ @@ -141,6 +167,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 which that leads 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 @@ -170,4 +200,3 @@ Documentation by Junio C Hamano and the git-list . GIT --- Part of the gitlink:git[7] suite -