summaryrefslogtreecommitdiff
path: root/range-diff.c
diff options
context:
space:
mode:
authorStefan Beller <sbeller@google.com>2018-08-17 20:43:53 (GMT)
committerJunio C Hamano <gitster@pobox.com>2018-08-20 21:33:26 (GMT)
commit8d5ccb59def8c1737b3e055a5984eaaa4e881ce9 (patch)
tree510e50ad06963930da243fee8ac68231e0dea319 /range-diff.c
parent7648b79eeefc23e773a41b24e3ecdadb9fe93643 (diff)
downloadgit-8d5ccb59def8c1737b3e055a5984eaaa4e881ce9.zip
git-8d5ccb59def8c1737b3e055a5984eaaa4e881ce9.tar.gz
git-8d5ccb59def8c1737b3e055a5984eaaa4e881ce9.tar.bz2
range-diff: make use of different output indicators
This change itself only changes the internal communication and should have no visible effect to the user. We instruct the diff code that produces the inner diffs to use other markers instead of the usual markers for new, old and context lines. Signed-off-by: Stefan Beller <sbeller@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'range-diff.c')
-rw-r--r--range-diff.c20
1 files changed, 19 insertions, 1 deletions
diff --git a/range-diff.c b/range-diff.c
index b6b9aba..a906d25 100644
--- a/range-diff.c
+++ b/range-diff.c
@@ -38,6 +38,14 @@ static int read_patches(const char *range, struct string_list *list)
argv_array_pushl(&cp.args, "log", "--no-color", "-p", "--no-merges",
"--reverse", "--date-order", "--decorate=no",
+ /*
+ * Choose indicators that are not used anywhere
+ * else in diffs, but still look reasonable
+ * (e.g. will not be confusing when debugging)
+ */
+ "--output-indicator-new=>",
+ "--output-indicator-old=<",
+ "--output-indicator-context=#",
"--no-abbrev-commit", range,
NULL);
cp.out = -1;
@@ -108,8 +116,18 @@ static int read_patches(const char *range, struct string_list *list)
* we are not interested.
*/
continue;
- else
+ else if (line.buf[0] == '>') {
+ strbuf_addch(&buf, '+');
+ strbuf_add(&buf, line.buf + 1, line.len - 1);
+ } else if (line.buf[0] == '<') {
+ strbuf_addch(&buf, '-');
+ strbuf_add(&buf, line.buf + 1, line.len - 1);
+ } else if (line.buf[0] == '#') {
+ strbuf_addch(&buf, ' ');
+ strbuf_add(&buf, line.buf + 1, line.len - 1);
+ } else {
strbuf_addbuf(&buf, &line);
+ }
strbuf_addch(&buf, '\n');
util->diffsize++;