read-cache: add post-index-change hook
[gitweb.git] / Documentation / git-format-patch.txt
index e7f404be3d0487a0749e8fb628ad2a8c08bbc51b..1af85d404f5191c18a8c587df06e7c0620066236 100644 (file)
@@ -24,7 +24,7 @@ SYNOPSIS
                   [--to=<email>] [--cc=<email>]
                   [--[no-]cover-letter] [--quiet] [--notes[=<ref>]]
                   [--interdiff=<previous>]
-                  [--range-diff=<previous>]
+                  [--range-diff=<previous> [--creation-factor=<percent>]]
                   [--progress]
                   [<common diff options>]
                   [ <since> | <revision range> ]
@@ -241,12 +241,26 @@ feeding the result to `git send-email`.
 
 --range-diff=<previous>::
        As a reviewer aid, insert a range-diff (see linkgit:git-range-diff[1])
-       into the cover letter showing the differences between the previous
+       into the cover letter, or as commentary of the lone patch of a
+       1-patch series, showing the differences between the previous
        version of the patch series and the series currently being formatted.
-       `previous` is a single revision naming the tip of the previous
-       series which shares a common base with the series being formatted (for
+       `previous` can be a single revision naming the tip of the previous
+       series if it shares a common base with the series being formatted (for
        example `git format-patch --cover-letter --range-diff=feature/v1 -3
-       feature/v2`).
+       feature/v2`), or a revision range if the two versions of the series are
+       disjoint (for example `git format-patch --cover-letter
+       --range-diff=feature/v1~3..feature/v1 -3 feature/v2`).
++
+Note that diff options passed to the command affect how the primary
+product of `format-patch` is generated, and they are not passed to
+the underlying `range-diff` machinery used to generate the cover-letter
+material (this may change in the future).
+
+--creation-factor=<percent>::
+       Used with `--range-diff`, tweak the heuristic which matches up commits
+       between the previous and current series of patches by adjusting the
+       creation/deletion cost fudge factor. See linkgit:git-range-diff[1])
+       for details.
 
 --notes[=<ref>]::
        Append the notes (see linkgit:git-notes[1]) for the commit
@@ -490,9 +504,9 @@ Toggle it to make sure it is set to `false`. Also, search for
 "mailnews.wraplength" and set the value to 0.
 
 3. Disable the use of format=flowed:
-Edit..Preferences..Advanced..Config Editor.  Search for
-"mailnews.send_plaintext_flowed".
-Toggle it to make sure it is set to `false`.
+   Edit..Preferences..Advanced..Config Editor.  Search for
+   "mailnews.send_plaintext_flowed".
+   Toggle it to make sure it is set to `false`.
 
 After that is done, you should be able to compose email as you
 otherwise would (cut + paste, 'git format-patch' | 'git imap-send', etc),
@@ -615,14 +629,14 @@ EXAMPLES
 --------
 
 * Extract commits between revisions R1 and R2, and apply them on top of
-the current branch using 'git am' to cherry-pick them:
+  the current branch using 'git am' to cherry-pick them:
 +
 ------------
 $ git format-patch -k --stdout R1..R2 | git am -3 -k
 ------------
 
 * Extract all commits which are in the current branch but not in the
-origin branch:
+  origin branch:
 +
 ------------
 $ git format-patch origin
@@ -631,7 +645,7 @@ $ git format-patch origin
 For each commit a separate file is created in the current directory.
 
 * Extract all commits that lead to 'origin' since the inception of the
-project:
+  project:
 +
 ------------
 $ git format-patch --root origin
@@ -650,7 +664,7 @@ Note that non-Git "patch" programs won't understand renaming patches, so
 use it only when you know the recipient uses Git to apply your patch.
 
 * Extract three topmost commits from the current branch and format them
-as e-mailable patches:
+  as e-mailable patches:
 +
 ------------
 $ git format-patch -3