git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH 2/2] diff- family --stat: honour config option to limit graph width

From
Thomas Koutcher via GitGitGadget <gitgitgadget@gmail.com>
Date
Apr 21, 2022, 20:15 UTC
Message-ID
<94acd9e0a47fcbee91f7759d1556d39fec26dd2d.1650572159.git.gitgitgadget@gmail.com>
In-Reply-To
<pull.1256.git.git.1650572159.gitgitgadget@gmail.com>
From: Thomas Koutcher <thomas.koutcher@online.fr>

Make diff-files, diff-index and diff-tree --stat honour config option diff.statGraphWidth as, according to git-config(1), it applies to all commands generating --stat output except format-patch.

Move the parsing of diff.statgraphwidth from git_diff_ui_config() to git_diff_basic_config() to make it accessible to all commands.

Signed-off-by: Thomas Koutcher <thomas.koutcher@online.fr>
---
 builtin/diff-files.c | 1 +
 builtin/diff-index.c | 1 +
 builtin/diff-tree.c  | 1 +
 diff.c               | 9 +++++----
 4 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/builtin/diff-files.c b/builtin/diff-files.c
index 2265cd256be..e9b96278434 100644
--- a/builtin/diff-files.c
+++ b/builtin/diff-files.c
@@ -30,6 +30,7 @@ int cmd_diff_files(int argc, const char **argv, const char *prefix)
 	repo_init_revisions(the_repository, &rev, prefix);
 	rev.abbrev = 0;
 	rev.diffopt.stat_width = -1; /* use full terminal width */
+	rev.diffopt.stat_graph_width = -1; /* respect statGraphWidth config */
 
 	/*
 	 * Consider "intent-to-add" files as new by default, unless
diff --git a/builtin/diff-index.c b/builtin/diff-index.c
index 9cb9555fdeb..10f78180264 100644
--- a/builtin/diff-index.c
+++ b/builtin/diff-index.c
@@ -27,6 +27,7 @@ int cmd_diff_index(int argc, const char **argv, const char *prefix)
 	repo_init_revisions(the_repository, &rev, prefix);
 	rev.abbrev = 0;
 	rev.diffopt.stat_width = -1; /* use full terminal width */
+	rev.diffopt.stat_graph_width = -1; /* respect statGraphWidth config */
 	prefix = precompose_argv_prefix(argc, argv, prefix);
 
 	/*
diff --git a/builtin/diff-tree.c b/builtin/diff-tree.c
index 4a2a2744fae..0b783dcbc44 100644
--- a/builtin/diff-tree.c
+++ b/builtin/diff-tree.c
@@ -123,6 +123,7 @@ int cmd_diff_tree(int argc, const char **argv, const char *prefix)
 	opt->abbrev = 0;
 	opt->diff = 1;
 	opt->diffopt.stat_width = -1; /* use full terminal width */
+	opt->diffopt.stat_graph_width = -1; /* respect statGraphWidth config */
 	opt->disable_stdin = 1;
 	memset(&s_r_opt, 0, sizeof(s_r_opt));
 	s_r_opt.tweak = diff_tree_tweak_rev;
diff --git a/diff.c b/diff.c
index ef7159968b6..0923a25d5bb 100644
--- a/diff.c
+++ b/diff.c
@@ -394,10 +394,6 @@ int git_diff_ui_config(const char *var, const char *value, void *cb)
 		diff_relative = git_config_bool(var, value);
 		return 0;
 	}
-	if (!strcmp(var, "diff.statgraphwidth")) {
-		diff_stat_graph_width = git_config_int(var, value);
-		return 0;
-	}
 	if (!strcmp(var, "diff.external"))
 		return git_config_string(&external_diff_cmd_cfg, var, value);
 	if (!strcmp(var, "diff.wordregex"))
@@ -477,6 +473,11 @@ int git_diff_basic_config(const char *var, const char *value, void *cb)
 		return 0;
 	}
 
+	if (!strcmp(var, "diff.statgraphwidth")) {
+		diff_stat_graph_width = git_config_int(var, value);
+		return 0;
+	}
+
 	if (git_diff_heuristic_config(var, value, cb) < 0)
 		return -1;
 
-- 
gitgitgadget
Previous: Thomas Koutcher via GitGitGadgetNext: Junio C Hamano
Message 3 of 5 in “diff- family --stat width”
  1. 0/2 diff- family --stat widthThomas Koutcher via GitGitGadget, Apr 21, 2022
  2. 1/2 diff- family --stat: use the full terminal widthThomas Koutcher via GitGitGadget, Apr 21, 2022
  3. 2/2 diff- family --stat: honour config option to limit graph widthThomas Koutcher via GitGitGadget, Apr 21, 2022
  4. Junio C HamanoApr 21, 2022
  5. Thomas KoutcherApr 29, 2022

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.