From: Thomas Koutcher <thomas.koutcher@xxxxxxxxx> 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@xxxxxxxxx> --- 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