Skip to content

Commit e596fd2

Browse files
committed
Merge branch 'rr/doc-content-type' into maint
* rr/doc-content-type: Documentation: Allow custom diff tools to be specified in 'diff.tool' Documentation: Add diff.<driver>.* to config Documentation: Move diff.<driver>.* from config.txt to diff-config.txt Documentation: Add filter.<driver>.* to config
2 parents 5b42477 + 48672b3 commit e596fd2

File tree

2 files changed

+103
-62
lines changed

2 files changed

+103
-62
lines changed

Documentation/config.txt

Lines changed: 11 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -821,68 +821,7 @@ commit.template::
821821
"{tilde}/" is expanded to the value of `$HOME` and "{tilde}user/" to the
822822
specified user's home directory.
823823

824-
diff.autorefreshindex::
825-
When using 'git diff' to compare with work tree
826-
files, do not consider stat-only change as changed.
827-
Instead, silently run `git update-index --refresh` to
828-
update the cached stat information for paths whose
829-
contents in the work tree match the contents in the
830-
index. This option defaults to true. Note that this
831-
affects only 'git diff' Porcelain, and not lower level
832-
'diff' commands such as 'git diff-files'.
833-
834-
diff.external::
835-
If this config variable is set, diff generation is not
836-
performed using the internal diff machinery, but using the
837-
given command. Can be overridden with the `GIT_EXTERNAL_DIFF'
838-
environment variable. The command is called with parameters
839-
as described under "git Diffs" in linkgit:git[1]. Note: if
840-
you want to use an external diff program only on a subset of
841-
your files, you might want to use linkgit:gitattributes[5] instead.
842-
843-
diff.mnemonicprefix::
844-
If set, 'git diff' uses a prefix pair that is different from the
845-
standard "a/" and "b/" depending on what is being compared. When
846-
this configuration is in effect, reverse diff output also swaps
847-
the order of the prefixes:
848-
`git diff`;;
849-
compares the (i)ndex and the (w)ork tree;
850-
`git diff HEAD`;;
851-
compares a (c)ommit and the (w)ork tree;
852-
`git diff --cached`;;
853-
compares a (c)ommit and the (i)ndex;
854-
`git diff HEAD:file1 file2`;;
855-
compares an (o)bject and a (w)ork tree entity;
856-
`git diff --no-index a b`;;
857-
compares two non-git things (1) and (2).
858-
859-
diff.noprefix::
860-
If set, 'git diff' does not show any source or destination prefix.
861-
862-
diff.renameLimit::
863-
The number of files to consider when performing the copy/rename
864-
detection; equivalent to the 'git diff' option '-l'.
865-
866-
diff.renames::
867-
Tells git to detect renames. If set to any boolean value, it
868-
will enable basic rename detection. If set to "copies" or
869-
"copy", it will detect copies, as well.
870-
871-
diff.ignoreSubmodules::
872-
Sets the default value of --ignore-submodules. Note that this
873-
affects only 'git diff' Porcelain, and not lower level 'diff'
874-
commands such as 'git diff-files'. 'git checkout' also honors
875-
this setting when reporting uncommitted changes.
876-
877-
diff.suppressBlankEmpty::
878-
A boolean to inhibit the standard behavior of printing a space
879-
before each empty output line. Defaults to false.
880-
881-
diff.tool::
882-
Controls which diff tool is used. `diff.tool` overrides
883-
`merge.tool` when used by linkgit:git-difftool[1] and has
884-
the same valid values as `merge.tool` minus "tortoisemerge"
885-
and plus "kompare".
824+
include::diff-config.txt[]
886825

887826
difftool.<tool>.path::
888827
Override the path for the given tool. This is useful in case
@@ -986,6 +925,16 @@ format.signoff::
986925
the rights to submit this work under the same open source license.
987926
Please see the 'SubmittingPatches' document for further discussion.
988927

928+
filter.<driver>.clean::
929+
The command which is used to convert the content of a worktree
930+
file to a blob upon checkin. See linkgit:gitattributes[5] for
931+
details.
932+
933+
filter.<driver>.smudge::
934+
The command which is used to convert the content of a blob
935+
object to a worktree file upon checkout. See
936+
linkgit:gitattributes[5] for details.
937+
989938
gc.aggressiveWindow::
990939
The window size parameter used in the delta compression
991940
algorithm used by 'git gc --aggressive'. This defaults

Documentation/diff-config.txt

Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
diff.autorefreshindex::
2+
When using 'git diff' to compare with work tree
3+
files, do not consider stat-only change as changed.
4+
Instead, silently run `git update-index --refresh` to
5+
update the cached stat information for paths whose
6+
contents in the work tree match the contents in the
7+
index. This option defaults to true. Note that this
8+
affects only 'git diff' Porcelain, and not lower level
9+
'diff' commands such as 'git diff-files'.
10+
11+
diff.external::
12+
If this config variable is set, diff generation is not
13+
performed using the internal diff machinery, but using the
14+
given command. Can be overridden with the `GIT_EXTERNAL_DIFF'
15+
environment variable. The command is called with parameters
16+
as described under "git Diffs" in linkgit:git[1]. Note: if
17+
you want to use an external diff program only on a subset of
18+
your files, you might want to use linkgit:gitattributes[5] instead.
19+
20+
diff.ignoreSubmodules::
21+
Sets the default value of --ignore-submodules. Note that this
22+
affects only 'git diff' Porcelain, and not lower level 'diff'
23+
commands such as 'git diff-files'. 'git checkout' also honors
24+
this setting when reporting uncommitted changes.
25+
26+
diff.mnemonicprefix::
27+
If set, 'git diff' uses a prefix pair that is different from the
28+
standard "a/" and "b/" depending on what is being compared. When
29+
this configuration is in effect, reverse diff output also swaps
30+
the order of the prefixes:
31+
`git diff`;;
32+
compares the (i)ndex and the (w)ork tree;
33+
`git diff HEAD`;;
34+
compares a (c)ommit and the (w)ork tree;
35+
`git diff --cached`;;
36+
compares a (c)ommit and the (i)ndex;
37+
`git diff HEAD:file1 file2`;;
38+
compares an (o)bject and a (w)ork tree entity;
39+
`git diff --no-index a b`;;
40+
compares two non-git things (1) and (2).
41+
42+
diff.noprefix::
43+
If set, 'git diff' does not show any source or destination prefix.
44+
45+
diff.renameLimit::
46+
The number of files to consider when performing the copy/rename
47+
detection; equivalent to the 'git diff' option '-l'.
48+
49+
diff.renames::
50+
Tells git to detect renames. If set to any boolean value, it
51+
will enable basic rename detection. If set to "copies" or
52+
"copy", it will detect copies, as well.
53+
54+
diff.suppressBlankEmpty::
55+
A boolean to inhibit the standard behavior of printing a space
56+
before each empty output line. Defaults to false.
57+
58+
diff.<driver>.command::
59+
The custom diff driver command. See linkgit:gitattributes[5]
60+
for details.
61+
62+
diff.<driver>.xfuncname::
63+
The regular expression that the diff driver should use to
64+
recognize the hunk header. A built-in pattern may also be used.
65+
See linkgit:gitattributes[5] for details.
66+
67+
diff.<driver>.binary::
68+
Set this option to true to make the diff driver treat files as
69+
binary. See linkgit:gitattributes[5] for details.
70+
71+
diff.<driver>.textconv::
72+
The command that the diff driver should call to generate the
73+
text-converted version of a file. The result of the
74+
conversion is used to generate a human-readable diff. See
75+
linkgit:gitattributes[5] for details.
76+
77+
diff.<driver>.wordregex::
78+
The regular expression that the diff driver should use to
79+
split words in a line. See linkgit:gitattributes[5] for
80+
details.
81+
82+
diff.<driver>.cachetextconv::
83+
Set this option to true to make the diff driver cache the text
84+
conversion outputs. See linkgit:gitattributes[5] for details.
85+
86+
diff.tool::
87+
The diff tool to be used by linkgit:git-difftool[1]. This
88+
option overrides `merge.tool`, and has the same valid built-in
89+
values as `merge.tool` minus "tortoisemerge" and plus
90+
"kompare". Any other value is treated as a custom diff tool,
91+
and there must be a corresponding `difftool.<tool>.cmd`
92+
option.

0 commit comments

Comments
 (0)