Merge branch 'jt/test-protocol-version' into jt/fetch-no-update-shallow-in-proto-v2
[gitweb.git] / Documentation / git-range-diff.txt
index 82c71c682936e705a00ed568f2d82238b03c92a1..8a6ea2c6c5c7a39a9f34d6b93388f3343c1e3026 100644 (file)
@@ -35,10 +35,19 @@ OPTIONS
        When the commit diffs differ, `git range-diff` recreates the
        original diffs' coloring, and adds outer -/+ diff markers with
        the *background* being red/green to make it easier to see e.g.
-       when there was a change in what exact lines were added. This is
-       known to `range-diff` as "dual coloring". Use `--no-dual-color`
-       to revert to color all lines according to the outer diff markers
-       (and completely ignore the inner diff when it comes to color).
+       when there was a change in what exact lines were added.
++
+Additionally, the commit diff lines that are only present in the first commit
+range are shown "dimmed" (this can be overridden using the `color.diff.<slot>`
+config setting where `<slot>` is one of `contextDimmed`, `oldDimmed` and
+`newDimmed`), and the commit diff lines that are only present in the second
+commit range are shown in bold (which can be overridden using the config
+settings `color.diff.<slot>` with `<slot>` being one of `contextBold`,
+`oldBold` or `newBold`).
++
+This is known to `range-diff` as "dual coloring". Use `--no-dual-color`
+to revert to color all lines according to the outer diff markers
+(and completely ignore the inner diff when it comes to color).
 
 --creation-factor=<percent>::
        Set the creation/deletion cost fudge factor to `<percent>`.
@@ -69,6 +78,23 @@ between patches", i.e. to compare the author, commit message and diff of
 corresponding old/new commits. There is currently no means to tweak the
 diff options passed to `git log` when generating those patches.
 
+OUTPUT STABILITY
+----------------
+
+The output of the `range-diff` command is subject to change. It is
+intended to be human-readable porcelain output, not something that can
+be used across versions of Git to get a textually stable `range-diff`
+(as opposed to something like the `--stable` option to
+linkgit:git-patch-id[1]). There's also no equivalent of
+linkgit:git-apply[1] for `range-diff`, the output is not intended to
+be machine-readable.
+
+This is particularly true when passing in diff options. Currently some
+options like `--stat` can, as an emergent effect, produce output
+that's quite useless in the context of `range-diff`. Future versions
+of `range-diff` may learn to interpret such options in a manner
+specific to `range-diff` (e.g. for `--stat` producing human-readable
+output which summarizes how the diffstat changed).
 
 CONFIGURATION
 -------------