aboutsummaryrefslogtreecommitdiff
path: root/Documentation/diff-config.txt
diff options
context:
space:
mode:
authorJohan Herland <johan@herland.net>2011-04-29 11:36:19 +0200
committerJunio C Hamano <gitster@pobox.com>2011-04-29 11:20:03 -0700
commit2d17495196d0dceb0ff492aa97bfff33ef1baa18 (patch)
tree010da01ffd0d5101ba2d3689553f07165302e3a7 /Documentation/diff-config.txt
parent333f3fb0c5307fed170cae336ab3c056f4d6ca1c (diff)
downloadgit-2d17495196d0dceb0ff492aa97bfff33ef1baa18.tar.gz
git-2d17495196d0dceb0ff492aa97bfff33ef1baa18.tar.xz
Add config variable for specifying default --dirstat behavior
The new diff.dirstat config variable takes the same arguments as '--dirstat=<args>', and specifies the default arguments for --dirstat. The config is obviously overridden by --dirstat arguments passed on the command line. When not specified, the --dirstat defaults are 'changes,noncumulative,3'. The patch also adds several tests verifying the interaction between the diff.dirstat config variable, and the --dirstat command line option. Improved-by: Junio C Hamano <gitster@pobox.com> Signed-off-by: Johan Herland <johan@herland.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'Documentation/diff-config.txt')
-rw-r--r--Documentation/diff-config.txt36
1 files changed, 36 insertions, 0 deletions
diff --git a/Documentation/diff-config.txt b/Documentation/diff-config.txt
index 2b1605f5c..228329d4a 100644
--- a/Documentation/diff-config.txt
+++ b/Documentation/diff-config.txt
@@ -8,6 +8,42 @@ diff.autorefreshindex::
affects only 'git diff' Porcelain, and not lower level
'diff' commands such as 'git diff-files'.
+diff.dirstat::
+ A comma separated list of `--dirstat` parameters specifying the
+ default behavior of the `--dirstat` option to linkgit:git-diff[1]`
+ and friends. The defaults can be overridden on the command line
+ (using `--dirstat=<param1,param2,...>`). The fallback defaults
+ (when not changed by `diff.dirstat`) are `changes,noncumulative,3`.
+ 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.
+`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:
+`files,10,cumulative`.
+
diff.external::
If this config variable is set, diff generation is not
performed using the internal diff machinery, but using the