From: Jeff King Date: Mon, 01 May 2017 05:17:58 GMT Subject: Re: [PATCH 2/2] Have the diff-* builtins configure diff before initializing revisions. Message-ID: <20170501051758.bei3odg3gehtbxbv@sigill.intra.peff.net> In-Reply-To: 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