git-sh-setup.sh: add variable to use the stuck-long mode
[gitweb.git] / Documentation / diff-config.txt
index 4314ad0fbb617b9f4c9c4e3d45f5d08f89259e2b..f07b4513ed76978e3bb7ef02ebf31d504f7098ff 100644 (file)
@@ -73,7 +73,11 @@ diff.ignoreSubmodules::
        Sets the default value of --ignore-submodules. Note that this
        affects only 'git diff' Porcelain, and not lower level 'diff'
        commands such as 'git diff-files'. 'git checkout' also honors
-       this setting when reporting uncommitted changes.
+       this setting when reporting uncommitted changes. Setting it to
+       'all' disables the submodule summary normally shown by 'git commit'
+       and 'git status' when 'status.submodulesummary' is set unless it is
+       overridden by using the --ignore-submodules command line option.
+       The 'git submodule' commands are not affected by this setting.
 
 diff.mnemonicprefix::
        If set, 'git diff' uses a prefix pair that is different from the
@@ -94,12 +98,17 @@ diff.mnemonicprefix::
 diff.noprefix::
        If set, 'git diff' does not show any source or destination prefix.
 
+diff.orderfile::
+       File indicating how to order files within a diff, using
+       one shell glob pattern per line.
+       Can be overridden by the '-O' option to linkgit:git-diff[1].
+
 diff.renameLimit::
        The number of files to consider when performing the copy/rename
        detection; equivalent to the 'git diff' option '-l'.
 
 diff.renames::
-       Tells git to detect renames.  If set to any boolean value, it
+       Tells Git to detect renames.  If set to any boolean value, it
        will enable basic rename detection.  If set to "copies" or
        "copy", it will detect copies, as well.
 
@@ -149,9 +158,27 @@ diff.<driver>.cachetextconv::
        conversion outputs.  See linkgit:gitattributes[5] for details.
 
 diff.tool::
-       The diff tool to be used by linkgit:git-difftool[1].  This
-       option overrides `merge.tool`, and has the same valid built-in
-       values as `merge.tool` minus "tortoisemerge" and plus
-       "kompare".  Any other value is treated as a custom diff tool,
-       and there must be a corresponding `difftool.<tool>.cmd`
-       option.
+       Controls which diff tool is used by linkgit:git-difftool[1].
+       This variable overrides the value configured in `merge.tool`.
+       The list below shows the valid built-in values.
+       Any other value is treated as a custom diff tool and requires
+       that a corresponding difftool.<tool>.cmd variable is defined.
+
+include::mergetools-diff.txt[]
+
+diff.algorithm::
+       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".
+--
++