On Sun, Apr 30, 2017 at 06:01:37PM -0700, Junio C Hamano wrote: > >> + git_config(git_diff_basic_config, NULL); /* no "diff" UI options */ > >> init_revisions(&rev, prefix); > >> gitmodules_config(); > >> - git_config(git_diff_basic_config, NULL); /* no "diff" UI options */ > >> rev.abbrev = 0; > >> precompose_argv(argc, argv); > > This somehow made me worried at the first glance, but the matches > what is done by the Porcelain "git diff". In other words, it was a > bug that the original called init_revisions() before doing the diff > configuration, and it does not have much to do with "now let's have > them honor indentHeuristic". Even if we wanted to keep the indent > heuristic in the ui-config (not basic) section of the diff tweak > knobs, we should be applying this patch as a bugfix. Yeah, I agree it is an existing bug. The only other case I found is dirstat. Doing: mkdir a b for i in 1 2; do echo content >a/$i; done for i in 1 2 3; do echo content >b/$i; done git -c diff.dirstat=50 diff-tree --dirstat --root HEAD should respect the config and show only "b", but it doesn't currently (and does with Marc's patch). -Peff