about summary refs log tree commit diff
path: root/third_party/git/Documentation/diff-options.txt
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/git/Documentation/diff-options.txt')
-rw-r--r--third_party/git/Documentation/diff-options.txt765
1 files changed, 0 insertions, 765 deletions
diff --git a/third_party/git/Documentation/diff-options.txt b/third_party/git/Documentation/diff-options.txt
deleted file mode 100644
index 573fb9bb71e2..000000000000
--- a/third_party/git/Documentation/diff-options.txt
+++ /dev/null
@@ -1,765 +0,0 @@
-// Please don't remove this comment as asciidoc behaves badly when
-// the first non-empty line is ifdef/ifndef. The symptom is that
-// without this comment the <git-diff-core> attribute conditionally
-// defined below ends up being defined unconditionally.
-// Last checked with asciidoc 7.0.2.
-
-ifndef::git-format-patch[]
-ifndef::git-diff[]
-ifndef::git-log[]
-:git-diff-core: 1
-endif::git-log[]
-endif::git-diff[]
-endif::git-format-patch[]
-
-ifdef::git-format-patch[]
--p::
---no-stat::
-	Generate plain patches without any diffstats.
-endif::git-format-patch[]
-
-ifndef::git-format-patch[]
--p::
--u::
---patch::
-	Generate patch (see section on generating patches).
-ifdef::git-diff[]
-	This is the default.
-endif::git-diff[]
-
--s::
---no-patch::
-	Suppress diff output. Useful for commands like `git show` that
-	show the patch by default, or to cancel the effect of `--patch`.
-endif::git-format-patch[]
-
--U<n>::
---unified=<n>::
-	Generate diffs with <n> lines of context instead of
-	the usual three. Implies `--patch`.
-ifndef::git-format-patch[]
-	Implies `-p`.
-endif::git-format-patch[]
-
---output=<file>::
-	Output to a specific file instead of stdout.
-
---output-indicator-new=<char>::
---output-indicator-old=<char>::
---output-indicator-context=<char>::
-	Specify the character used to indicate new, old or context
-	lines in the generated patch. Normally they are '+', '-' and
-	' ' respectively.
-
-ifndef::git-format-patch[]
---raw::
-ifndef::git-log[]
-	Generate the diff in raw format.
-ifdef::git-diff-core[]
-	This is the default.
-endif::git-diff-core[]
-endif::git-log[]
-ifdef::git-log[]
-	For each commit, show a summary of changes using the raw diff
-	format. See the "RAW OUTPUT FORMAT" section of
-	linkgit:git-diff[1]. This is different from showing the log
-	itself in raw format, which you can achieve with
-	`--format=raw`.
-endif::git-log[]
-endif::git-format-patch[]
-
-ifndef::git-format-patch[]
---patch-with-raw::
-	Synonym for `-p --raw`.
-endif::git-format-patch[]
-
-ifdef::git-log[]
--t::
-	Show the tree objects in the diff output.
-endif::git-log[]
-
---indent-heuristic::
-	Enable the heuristic that shifts diff hunk boundaries to make patches
-	easier to read. This is the default.
-
---no-indent-heuristic::
-	Disable the indent heuristic.
-
---minimal::
-	Spend extra time to make sure the smallest possible
-	diff is produced.
-
---patience::
-	Generate a diff using the "patience diff" algorithm.
-
---histogram::
-	Generate a diff using the "histogram diff" algorithm.
-
---anchored=<text>::
-	Generate a diff using the "anchored diff" algorithm.
-+
-This option may be specified more than once.
-+
-If a line exists in both the source and destination, exists only once,
-and starts with this text, this algorithm attempts to prevent it from
-appearing as a deletion or addition in the output. It uses the "patience
-diff" algorithm internally.
-
---diff-algorithm={patience|minimal|histogram|myers}::
-	Choose a diff algorithm. The variants are as follows:
-+
---
-`default`, `myers`;;
-	The basic greedy diff algorithm. Currently, this is the default.
-`minimal`;;
-	Spend extra time to make sure the smallest possible diff is
-	produced.
-`patience`;;
-	Use "patience diff" algorithm when generating patches.
-`histogram`;;
-	This algorithm extends the patience algorithm to "support
-	low-occurrence common elements".
---
-+
-For instance, if you configured the `diff.algorithm` variable to a
-non-default value and want to use the default one, then you
-have to use `--diff-algorithm=default` option.
-
---stat[=<width>[,<name-width>[,<count>]]]::
-	Generate a diffstat. By default, as much space as necessary
-	will be used for the filename part, and the rest for the graph
-	part. Maximum width defaults to terminal width, or 80 columns
-	if not connected to a terminal, and can be overridden by
-	`<width>`. The width of the filename part can be limited by
-	giving another width `<name-width>` after a comma. The width
-	of the graph part can be limited by using
-	`--stat-graph-width=<width>` (affects all commands generating
-	a stat graph) or by setting `diff.statGraphWidth=<width>`
-	(does not affect `git format-patch`).
-	By giving a third parameter `<count>`, you can limit the
-	output to the first `<count>` lines, followed by `...` if
-	there are more.
-+
-These parameters can also be set individually with `--stat-width=<width>`,
-`--stat-name-width=<name-width>` and `--stat-count=<count>`.
-
---compact-summary::
-	Output a condensed summary of extended header information such
-	as file creations or deletions ("new" or "gone", optionally "+l"
-	if it's a symlink) and mode changes ("+x" or "-x" for adding
-	or removing executable bit respectively) in diffstat. The
-	information is put between the filename part and the graph
-	part. Implies `--stat`.
-
---numstat::
-	Similar to `--stat`, but shows number of added and
-	deleted lines in decimal notation and pathname without
-	abbreviation, to make it more machine friendly.  For
-	binary files, outputs two `-` instead of saying
-	`0 0`.
-
---shortstat::
-	Output only the last line of the `--stat` format containing total
-	number of modified files, as well as number of added and deleted
-	lines.
-
--X[<param1,param2,...>]::
---dirstat[=<param1,param2,...>]::
-	Output the distribution of relative amount of changes for each
-	sub-directory. The behavior of `--dirstat` can be customized by
-	passing it a comma separated list of parameters.
-	The defaults are controlled by the `diff.dirstat` configuration
-	variable (see linkgit:git-config[1]).
-	The following parameters are available:
-+
---
-`changes`;;
-	Compute the dirstat numbers by counting the lines that have been
-	removed from the source, or added to the destination. This ignores
-	the amount of pure code movements within a file.  In other words,
-	rearranging lines in a file is not counted as much as other changes.
-	This is the default behavior when no parameter is given.
-`lines`;;
-	Compute the dirstat numbers by doing the regular line-based diff
-	analysis, and summing the removed/added line counts. (For binary
-	files, count 64-byte chunks instead, since binary files have no
-	natural concept of lines). This is a more expensive `--dirstat`
-	behavior than the `changes` behavior, but it does count rearranged
-	lines within a file as much as other changes. The resulting output
-	is consistent with what you get from the other `--*stat` options.
-`files`;;
-	Compute the dirstat numbers by counting the number of files changed.
-	Each changed file counts equally in the dirstat analysis. This is
-	the computationally cheapest `--dirstat` behavior, since it does
-	not have to look at the file contents at all.
-`cumulative`;;
-	Count changes in a child directory for the parent directory as well.
-	Note that when using `cumulative`, the sum of the percentages
-	reported may exceed 100%. The default (non-cumulative) behavior can
-	be specified with the `noncumulative` parameter.
-<limit>;;
-	An integer parameter specifies a cut-off percent (3% by default).
-	Directories contributing less than this percentage of the changes
-	are not shown in the output.
---
-+
-Example: The following will count changed files, while ignoring
-directories with less than 10% of the total amount of changed files,
-and accumulating child directory counts in the parent directories:
-`--dirstat=files,10,cumulative`.
-
---cumulative::
-	Synonym for --dirstat=cumulative
-
---dirstat-by-file[=<param1,param2>...]::
-	Synonym for --dirstat=files,param1,param2...
-
---summary::
-	Output a condensed summary of extended header information
-	such as creations, renames and mode changes.
-
-ifndef::git-format-patch[]
---patch-with-stat::
-	Synonym for `-p --stat`.
-endif::git-format-patch[]
-
-ifndef::git-format-patch[]
-
--z::
-ifdef::git-log[]
-	Separate the commits with NULs instead of with new newlines.
-+
-Also, when `--raw` or `--numstat` has been given, do not munge
-pathnames and use NULs as output field terminators.
-endif::git-log[]
-ifndef::git-log[]
-	When `--raw`, `--numstat`, `--name-only` or `--name-status` has been
-	given, do not munge pathnames and use NULs as output field terminators.
-endif::git-log[]
-+
-Without this option, pathnames with "unusual" characters are quoted as
-explained for the configuration variable `core.quotePath` (see
-linkgit:git-config[1]).
-
---name-only::
-	Show only names of changed files.
-
---name-status::
-	Show only names and status of changed files. See the description
-	of the `--diff-filter` option on what the status letters mean.
-
---submodule[=<format>]::
-	Specify how differences in submodules are shown.  When specifying
-	`--submodule=short` the 'short' format is used.  This format just
-	shows the names of the commits at the beginning and end of the range.
-	When `--submodule` or `--submodule=log` is specified, the 'log'
-	format is used.  This format lists the commits in the range like
-	linkgit:git-submodule[1] `summary` does.  When `--submodule=diff`
-	is specified, the 'diff' format is used.  This format shows an
-	inline diff of the changes in the submodule contents between the
-	commit range.  Defaults to `diff.submodule` or the 'short' format
-	if the config option is unset.
-
---color[=<when>]::
-	Show colored diff.
-	`--color` (i.e. without '=<when>') is the same as `--color=always`.
-	'<when>' can be one of `always`, `never`, or `auto`.
-ifdef::git-diff[]
-	It can be changed by the `color.ui` and `color.diff`
-	configuration settings.
-endif::git-diff[]
-
---no-color::
-	Turn off colored diff.
-ifdef::git-diff[]
-	This can be used to override configuration settings.
-endif::git-diff[]
-	It is the same as `--color=never`.
-
---color-moved[=<mode>]::
-	Moved lines of code are colored differently.
-ifdef::git-diff[]
-	It can be changed by the `diff.colorMoved` configuration setting.
-endif::git-diff[]
-	The <mode> defaults to 'no' if the option is not given
-	and to 'zebra' if the option with no mode is given.
-	The mode must be one of:
-+
---
-no::
-	Moved lines are not highlighted.
-default::
-	Is a synonym for `zebra`. This may change to a more sensible mode
-	in the future.
-plain::
-	Any line that is added in one location and was removed
-	in another location will be colored with 'color.diff.newMoved'.
-	Similarly 'color.diff.oldMoved' will be used for removed lines
-	that are added somewhere else in the diff. This mode picks up any
-	moved line, but it is not very useful in a review to determine
-	if a block of code was moved without permutation.
-blocks::
-	Blocks of moved text of at least 20 alphanumeric characters
-	are detected greedily. The detected blocks are
-	painted using either the 'color.diff.{old,new}Moved' color.
-	Adjacent blocks cannot be told apart.
-zebra::
-	Blocks of moved text are detected as in 'blocks' mode. The blocks
-	are painted using either the 'color.diff.{old,new}Moved' color or
-	'color.diff.{old,new}MovedAlternative'. The change between
-	the two colors indicates that a new block was detected.
-dimmed-zebra::
-	Similar to 'zebra', but additional dimming of uninteresting parts
-	of moved code is performed. The bordering lines of two adjacent
-	blocks are considered interesting, the rest is uninteresting.
-	`dimmed_zebra` is a deprecated synonym.
---
-
---no-color-moved::
-	Turn off move detection. This can be used to override configuration
-	settings. It is the same as `--color-moved=no`.
-
---color-moved-ws=<modes>::
-	This configures how whitespace is ignored when performing the
-	move detection for `--color-moved`.
-ifdef::git-diff[]
-	It can be set by the `diff.colorMovedWS` configuration setting.
-endif::git-diff[]
-	These modes can be given as a comma separated list:
-+
---
-no::
-	Do not ignore whitespace when performing move detection.
-ignore-space-at-eol::
-	Ignore changes in whitespace at EOL.
-ignore-space-change::
-	Ignore changes in amount of whitespace.  This ignores whitespace
-	at line end, and considers all other sequences of one or
-	more whitespace characters to be equivalent.
-ignore-all-space::
-	Ignore whitespace when comparing lines. This ignores differences
-	even if one line has whitespace where the other line has none.
-allow-indentation-change::
-	Initially ignore any whitespace in the move detection, then
-	group the moved code blocks only into a block if the change in
-	whitespace is the same per line. This is incompatible with the
-	other modes.
---
-
---no-color-moved-ws::
-	Do not ignore whitespace when performing move detection. This can be
-	used to override configuration settings. It is the same as
-	`--color-moved-ws=no`.
-
---word-diff[=<mode>]::
-	Show a word diff, using the <mode> to delimit changed words.
-	By default, words are delimited by whitespace; see
-	`--word-diff-regex` below.  The <mode> defaults to 'plain', and
-	must be one of:
-+
---
-color::
-	Highlight changed words using only colors.  Implies `--color`.
-plain::
-	Show words as `[-removed-]` and `{+added+}`.  Makes no
-	attempts to escape the delimiters if they appear in the input,
-	so the output may be ambiguous.
-porcelain::
-	Use a special line-based format intended for script
-	consumption.  Added/removed/unchanged runs are printed in the
-	usual unified diff format, starting with a `+`/`-`/` `
-	character at the beginning of the line and extending to the
-	end of the line.  Newlines in the input are represented by a
-	tilde `~` on a line of its own.
-none::
-	Disable word diff again.
---
-+
-Note that despite the name of the first mode, color is used to
-highlight the changed parts in all modes if enabled.
-
---word-diff-regex=<regex>::
-	Use <regex> to decide what a word is, instead of considering
-	runs of non-whitespace to be a word.  Also implies
-	`--word-diff` unless it was already enabled.
-+
-Every non-overlapping match of the
-<regex> is considered a word.  Anything between these matches is
-considered whitespace and ignored(!) for the purposes of finding
-differences.  You may want to append `|[^[:space:]]` to your regular
-expression to make sure that it matches all non-whitespace characters.
-A match that contains a newline is silently truncated(!) at the
-newline.
-+
-For example, `--word-diff-regex=.` will treat each character as a word
-and, correspondingly, show differences character by character.
-+
-The regex can also be set via a diff driver or configuration option, see
-linkgit:gitattributes[5] or linkgit:git-config[1].  Giving it explicitly
-overrides any diff driver or configuration setting.  Diff drivers
-override configuration settings.
-
---color-words[=<regex>]::
-	Equivalent to `--word-diff=color` plus (if a regex was
-	specified) `--word-diff-regex=<regex>`.
-endif::git-format-patch[]
-
---no-renames::
-	Turn off rename detection, even when the configuration
-	file gives the default to do so.
-
---[no-]rename-empty::
-	Whether to use empty blobs as rename source.
-
-ifndef::git-format-patch[]
---check::
-	Warn if changes introduce conflict markers or whitespace errors.
-	What are considered whitespace errors is controlled by `core.whitespace`
-	configuration.  By default, trailing whitespaces (including
-	lines that consist solely of whitespaces) and a space character
-	that is immediately followed by a tab character inside the
-	initial indent of the line are considered whitespace errors.
-	Exits with non-zero status if problems are found. Not compatible
-	with --exit-code.
-
---ws-error-highlight=<kind>::
-	Highlight whitespace errors in the `context`, `old` or `new`
-	lines of the diff.  Multiple values are separated by comma,
-	`none` resets previous values, `default` reset the list to
-	`new` and `all` is a shorthand for `old,new,context`.  When
-	this option is not given, and the configuration variable
-	`diff.wsErrorHighlight` is not set, only whitespace errors in
-	`new` lines are highlighted. The whitespace errors are colored
-	with `color.diff.whitespace`.
-
-endif::git-format-patch[]
-
---full-index::
-	Instead of the first handful of characters, show the full
-	pre- and post-image blob object names on the "index"
-	line when generating patch format output.
-
---binary::
-	In addition to `--full-index`, output a binary diff that
-	can be applied with `git-apply`. Implies `--patch`.
-
---abbrev[=<n>]::
-	Instead of showing the full 40-byte hexadecimal object
-	name in diff-raw format output and diff-tree header
-	lines, show only a partial prefix.
-	In diff-patch output format, `--full-index` takes higher
-	precedence, i.e. if `--full-index` is specified, full blob
-	names will be shown regardless of `--abbrev`.
-	Non default number of digits can be specified with `--abbrev=<n>`.
-
--B[<n>][/<m>]::
---break-rewrites[=[<n>][/<m>]]::
-	Break complete rewrite changes into pairs of delete and
-	create. This serves two purposes:
-+
-It affects the way a change that amounts to a total rewrite of a file
-not as a series of deletion and insertion mixed together with a very
-few lines that happen to match textually as the context, but as a
-single deletion of everything old followed by a single insertion of
-everything new, and the number `m` controls this aspect of the -B
-option (defaults to 60%). `-B/70%` specifies that less than 30% of the
-original should remain in the result for Git to consider it a total
-rewrite (i.e. otherwise the resulting patch will be a series of
-deletion and insertion mixed together with context lines).
-+
-When used with -M, a totally-rewritten file is also considered as the
-source of a rename (usually -M only considers a file that disappeared
-as the source of a rename), and the number `n` controls this aspect of
-the -B option (defaults to 50%). `-B20%` specifies that a change with
-addition and deletion compared to 20% or more of the file's size are
-eligible for being picked up as a possible source of a rename to
-another file.
-
--M[<n>]::
---find-renames[=<n>]::
-ifndef::git-log[]
-	Detect renames.
-endif::git-log[]
-ifdef::git-log[]
-	If generating diffs, detect and report renames for each commit.
-	For following files across renames while traversing history, see
-	`--follow`.
-endif::git-log[]
-	If `n` is specified, it is a threshold on the similarity
-	index (i.e. amount of addition/deletions compared to the
-	file's size). For example, `-M90%` means Git should consider a
-	delete/add pair to be a rename if more than 90% of the file
-	hasn't changed.  Without a `%` sign, the number is to be read as
-	a fraction, with a decimal point before it.  I.e., `-M5` becomes
-	0.5, and is thus the same as `-M50%`.  Similarly, `-M05` is
-	the same as `-M5%`.  To limit detection to exact renames, use
-	`-M100%`.  The default similarity index is 50%.
-
--C[<n>]::
---find-copies[=<n>]::
-	Detect copies as well as renames.  See also `--find-copies-harder`.
-	If `n` is specified, it has the same meaning as for `-M<n>`.
-
---find-copies-harder::
-	For performance reasons, by default, `-C` option finds copies only
-	if the original file of the copy was modified in the same
-	changeset.  This flag makes the command
-	inspect unmodified files as candidates for the source of
-	copy.  This is a very expensive operation for large
-	projects, so use it with caution.  Giving more than one
-	`-C` option has the same effect.
-
--D::
---irreversible-delete::
-	Omit the preimage for deletes, i.e. print only the header but not
-	the diff between the preimage and `/dev/null`. The resulting patch
-	is not meant to be applied with `patch` or `git apply`; this is
-	solely for people who want to just concentrate on reviewing the
-	text after the change. In addition, the output obviously lacks
-	enough information to apply such a patch in reverse, even manually,
-	hence the name of the option.
-+
-When used together with `-B`, omit also the preimage in the deletion part
-of a delete/create pair.
-
--l<num>::
-	The `-M` and `-C` options require O(n^2) processing time where n
-	is the number of potential rename/copy targets.  This
-	option prevents rename/copy detection from running if
-	the number of rename/copy targets exceeds the specified
-	number.
-
-ifndef::git-format-patch[]
---diff-filter=[(A|C|D|M|R|T|U|X|B)...[*]]::
-	Select only files that are Added (`A`), Copied (`C`),
-	Deleted (`D`), Modified (`M`), Renamed (`R`), have their
-	type (i.e. regular file, symlink, submodule, ...) changed (`T`),
-	are Unmerged (`U`), are
-	Unknown (`X`), or have had their pairing Broken (`B`).
-	Any combination of the filter characters (including none) can be used.
-	When `*` (All-or-none) is added to the combination, all
-	paths are selected if there is any file that matches
-	other criteria in the comparison; if there is no file
-	that matches other criteria, nothing is selected.
-+
-Also, these upper-case letters can be downcased to exclude.  E.g.
-`--diff-filter=ad` excludes added and deleted paths.
-+
-Note that not all diffs can feature all types. For instance, diffs
-from the index to the working tree can never have Added entries
-(because the set of paths included in the diff is limited by what is in
-the index).  Similarly, copied and renamed entries cannot appear if
-detection for those types is disabled.
-
--S<string>::
-	Look for differences that change the number of occurrences of
-	the specified string (i.e. addition/deletion) in a file.
-	Intended for the scripter's use.
-+
-It is useful when you're looking for an exact block of code (like a
-struct), and want to know the history of that block since it first
-came into being: use the feature iteratively to feed the interesting
-block in the preimage back into `-S`, and keep going until you get the
-very first version of the block.
-+
-Binary files are searched as well.
-
--G<regex>::
-	Look for differences whose patch text contains added/removed
-	lines that match <regex>.
-+
-To illustrate the difference between `-S<regex> --pickaxe-regex` and
-`-G<regex>`, consider a commit with the following diff in the same
-file:
-+
-----
-+    return frotz(nitfol, two->ptr, 1, 0);
-...
--    hit = frotz(nitfol, mf2.ptr, 1, 0);
-----
-+
-While `git log -G"frotz\(nitfol"` will show this commit, `git log
--S"frotz\(nitfol" --pickaxe-regex` will not (because the number of
-occurrences of that string did not change).
-+
-Unless `--text` is supplied patches of binary files without a textconv
-filter will be ignored.
-+
-See the 'pickaxe' entry in linkgit:gitdiffcore[7] for more
-information.
-
---find-object=<object-id>::
-	Look for differences that change the number of occurrences of
-	the specified object. Similar to `-S`, just the argument is different
-	in that it doesn't search for a specific string but for a specific
-	object id.
-+
-The object can be a blob or a submodule commit. It implies the `-t` option in
-`git-log` to also find trees.
-
---pickaxe-all::
-	When `-S` or `-G` finds a change, show all the changes in that
-	changeset, not just the files that contain the change
-	in <string>.
-
---pickaxe-regex::
-	Treat the <string> given to `-S` as an extended POSIX regular
-	expression to match.
-
-endif::git-format-patch[]
-
--O<orderfile>::
-	Control the order in which files appear in the output.
-	This overrides the `diff.orderFile` configuration variable
-	(see linkgit:git-config[1]).  To cancel `diff.orderFile`,
-	use `-O/dev/null`.
-+
-The output order is determined by the order of glob patterns in
-<orderfile>.
-All files with pathnames that match the first pattern are output
-first, all files with pathnames that match the second pattern (but not
-the first) are output next, and so on.
-All files with pathnames that do not match any pattern are output
-last, as if there was an implicit match-all pattern at the end of the
-file.
-If multiple pathnames have the same rank (they match the same pattern
-but no earlier patterns), their output order relative to each other is
-the normal order.
-+
-<orderfile> is parsed as follows:
-+
---
- - Blank lines are ignored, so they can be used as separators for
-   readability.
-
- - Lines starting with a hash ("`#`") are ignored, so they can be used
-   for comments.  Add a backslash ("`\`") to the beginning of the
-   pattern if it starts with a hash.
-
- - Each other line contains a single pattern.
---
-+
-Patterns have the same syntax and semantics as patterns used for
-fnmatch(3) without the FNM_PATHNAME flag, except a pathname also
-matches a pattern if removing any number of the final pathname
-components matches the pattern.  For example, the pattern "`foo*bar`"
-matches "`fooasdfbar`" and "`foo/bar/baz/asdf`" but not "`foobarx`".
-
-ifndef::git-format-patch[]
--R::
-	Swap two inputs; that is, show differences from index or
-	on-disk file to tree contents.
-endif::git-format-patch[]
-
---relative[=<path>]::
---no-relative::
-	When run from a subdirectory of the project, it can be
-	told to exclude changes outside the directory and show
-	pathnames relative to it with this option.  When you are
-	not in a subdirectory (e.g. in a bare repository), you
-	can name which subdirectory to make the output relative
-	to by giving a <path> as an argument.
-	`--no-relative` can be used to countermand both `diff.relative` config
-	option and previous `--relative`.
-
--a::
---text::
-	Treat all files as text.
-
---ignore-cr-at-eol::
-	Ignore carriage-return at the end of line when doing a comparison.
-
---ignore-space-at-eol::
-	Ignore changes in whitespace at EOL.
-
--b::
---ignore-space-change::
-	Ignore changes in amount of whitespace.  This ignores whitespace
-	at line end, and considers all other sequences of one or
-	more whitespace characters to be equivalent.
-
--w::
---ignore-all-space::
-	Ignore whitespace when comparing lines.  This ignores
-	differences even if one line has whitespace where the other
-	line has none.
-
---ignore-blank-lines::
-	Ignore changes whose lines are all blank.
-
---inter-hunk-context=<lines>::
-	Show the context between diff hunks, up to the specified number
-	of lines, thereby fusing hunks that are close to each other.
-	Defaults to `diff.interHunkContext` or 0 if the config option
-	is unset.
-
--W::
---function-context::
-	Show whole surrounding functions of changes.
-
-ifndef::git-format-patch[]
-ifndef::git-log[]
---exit-code::
-	Make the program exit with codes similar to diff(1).
-	That is, it exits with 1 if there were differences and
-	0 means no differences.
-
---quiet::
-	Disable all output of the program. Implies `--exit-code`.
-endif::git-log[]
-endif::git-format-patch[]
-
---ext-diff::
-	Allow an external diff helper to be executed. If you set an
-	external diff driver with linkgit:gitattributes[5], you need
-	to use this option with linkgit:git-log[1] and friends.
-
---no-ext-diff::
-	Disallow external diff drivers.
-
---textconv::
---no-textconv::
-	Allow (or disallow) external text conversion filters to be run
-	when comparing binary files. See linkgit:gitattributes[5] for
-	details. Because textconv filters are typically a one-way
-	conversion, the resulting diff is suitable for human
-	consumption, but cannot be applied. For this reason, textconv
-	filters are enabled by default only for linkgit:git-diff[1] and
-	linkgit:git-log[1], but not for linkgit:git-format-patch[1] or
-	diff plumbing commands.
-
---ignore-submodules[=<when>]::
-	Ignore changes to submodules in the diff generation. <when> can be
-	either "none", "untracked", "dirty" or "all", which is the default.
-	Using "none" will consider the submodule modified when it either contains
-	untracked or modified files or its HEAD differs from the commit recorded
-	in the superproject and can be used to override any settings of the
-	'ignore' option in linkgit:git-config[1] or linkgit:gitmodules[5]. When
-	"untracked" is used submodules are not considered dirty when they only
-	contain untracked content (but they are still scanned for modified
-	content). Using "dirty" ignores all changes to the work tree of submodules,
-	only changes to the commits stored in the superproject are shown (this was
-	the behavior until 1.7.0). Using "all" hides all changes to submodules.
-
---src-prefix=<prefix>::
-	Show the given source prefix instead of "a/".
-
---dst-prefix=<prefix>::
-	Show the given destination prefix instead of "b/".
-
---no-prefix::
-	Do not show any source or destination prefix.
-
---line-prefix=<prefix>::
-	Prepend an additional prefix to every line of output.
-
---ita-invisible-in-index::
-	By default entries added by "git add -N" appear as an existing
-	empty file in "git diff" and a new file in "git diff --cached".
-	This option makes the entry appear as a new file in "git diff"
-	and non-existent in "git diff --cached". This option could be
-	reverted with `--ita-visible-in-index`. Both options are
-	experimental and could be removed in future.
-
-For more detailed explanation on these common options, see also
-linkgit:gitdiffcore[7].