summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLibravatar Johannes Schindelin <johannes.schindelin@gmx.de>2018-08-13 04:33:10 -0700
committerLibravatar Junio C Hamano <gitster@pobox.com>2018-08-13 10:44:51 -0700
commit5e242e63d0e9955a37268cc6b93b4e8fdedde07f (patch)
tree209e69854a566570f061ffd10c3dee5649b8ab5a
parentrange-diff: right-trim commit messages (diff)
downloadtgif-5e242e63d0e9955a37268cc6b93b4e8fdedde07f.tar.xz
range-diff: indent the diffs just like tbdiff
The main information in the `range-diff` view comes from the list of matching and non-matching commits, the diffs are additional information. Indenting them helps with the reading flow. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r--builtin/range-diff.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/builtin/range-diff.c b/builtin/range-diff.c
index 3b06ed9449..f0598005ae 100644
--- a/builtin/range-diff.c
+++ b/builtin/range-diff.c
@@ -11,6 +11,11 @@ N_("git range-diff [<options>] <base> <old-tip> <new-tip>"),
NULL
};
+static struct strbuf *output_prefix_cb(struct diff_options *opt, void *data)
+{
+ return data;
+}
+
int cmd_range_diff(int argc, const char **argv, const char *prefix)
{
int creation_factor = 60;
@@ -21,12 +26,16 @@ int cmd_range_diff(int argc, const char **argv, const char *prefix)
OPT_END()
};
int i, j, res = 0;
+ struct strbuf four_spaces = STRBUF_INIT;
struct strbuf range1 = STRBUF_INIT, range2 = STRBUF_INIT;
git_config(git_diff_ui_config, NULL);
diff_setup(&diffopt);
diffopt.output_format = DIFF_FORMAT_PATCH;
+ diffopt.output_prefix = output_prefix_cb;
+ strbuf_addstr(&four_spaces, " ");
+ diffopt.output_prefix_data = &four_spaces;
argc = parse_options(argc, argv, NULL, options,
builtin_range_diff_usage, PARSE_OPT_KEEP_UNKNOWN |
@@ -90,6 +99,7 @@ int cmd_range_diff(int argc, const char **argv, const char *prefix)
strbuf_release(&range1);
strbuf_release(&range2);
+ strbuf_release(&four_spaces);
return res;
}