Andrew's git
/
gitweb.git
/ diff
summary
|
log
|
commit
| diff |
tree
commit
grep
author
committer
pickaxe
?
re
range-diff: left-pad patch numbers
author
Johannes Schindelin
<johannes.schindelin@gmx.de>
Mon, 13 Aug 2018 11:33:28 +0000
(
04:33
-0700)
committer
Junio C Hamano
<gitster@pobox.com>
Mon, 13 Aug 2018 17:44:52 +0000
(10:44 -0700)
As pointed out by Elijah Newren, tbdiff has this neat little alignment
trick where it outputs the commit pairs with patch numbers that are
padded to the maximal patch number's width:
1:
cafedead
= 1:
acefade
first patch
[...]
314:
beefeada
< 314:
facecab
up to PI!
Let's do the same in range-diff, too.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
range-diff.c
patch
|
blob
|
history
raw
|
patch
|
inline
| side by side (parent:
7190a67
)
diff --git
a/range-diff.c
b/range-diff.c
index b1663da7cd30688f8fd4d7efa41efb16eb130e96..b6b9abac266f3a6a2abdfcdd815f80b7da930854 100644
(file)
--- a/
range-diff.c
+++ b/
range-diff.c
@@
-259,6
+259,7
@@
static void get_correspondences(struct string_list *a, struct string_list *b,
}
static void output_pair_header(struct diff_options *diffopt,
}
static void output_pair_header(struct diff_options *diffopt,
+ int patch_no_width,
struct strbuf *buf,
struct strbuf *dashes,
struct patch_util *a_util,
struct strbuf *buf,
struct strbuf *dashes,
struct patch_util *a_util,
@@
-295,9
+296,9
@@
static void output_pair_header(struct diff_options *diffopt,
strbuf_reset(buf);
strbuf_addstr(buf, status == '!' ? color_old : color);
if (!a_util)
strbuf_reset(buf);
strbuf_addstr(buf, status == '!' ? color_old : color);
if (!a_util)
- strbuf_addf(buf, "
-: %s
", dashes->buf);
+ strbuf_addf(buf, "
%*s: %s ", patch_no_width, "-
", dashes->buf);
else
else
- strbuf_addf(buf, "%
d: %s "
, a_util->i + 1,
+ strbuf_addf(buf, "%
*d: %s ", patch_no_width
, a_util->i + 1,
find_unique_abbrev(&a_util->oid, DEFAULT_ABBREV));
if (status == '!')
find_unique_abbrev(&a_util->oid, DEFAULT_ABBREV));
if (status == '!')
@@
-307,9
+308,9
@@
static void output_pair_header(struct diff_options *diffopt,
strbuf_addf(buf, "%s%s", color_reset, color_new);
if (!b_util)
strbuf_addf(buf, "%s%s", color_reset, color_new);
if (!b_util)
- strbuf_addf(buf, "
-: %s
", dashes->buf);
+ strbuf_addf(buf, "
%*s: %s", patch_no_width, "-
", dashes->buf);
else
else
- strbuf_addf(buf, " %
d: %s"
, b_util->i + 1,
+ strbuf_addf(buf, " %
*d: %s", patch_no_width
, b_util->i + 1,
find_unique_abbrev(&b_util->oid, DEFAULT_ABBREV));
commit = lookup_commit_reference(the_repository, oid);
find_unique_abbrev(&b_util->oid, DEFAULT_ABBREV));
commit = lookup_commit_reference(the_repository, oid);
@@
-357,6
+358,7
@@
static void output(struct string_list *a, struct string_list *b,
struct diff_options *diffopt)
{
struct strbuf buf = STRBUF_INIT, dashes = STRBUF_INIT;
struct diff_options *diffopt)
{
struct strbuf buf = STRBUF_INIT, dashes = STRBUF_INIT;
+ int patch_no_width = decimal_width(1 + (a->nr > b->nr ? a->nr : b->nr));
int i = 0, j = 0;
/*
int i = 0, j = 0;
/*
@@
-378,7
+380,7
@@
static void output(struct string_list *a, struct string_list *b,
/* Show unmatched LHS commit whose predecessors were shown. */
if (i < a->nr && a_util->matching < 0) {
/* Show unmatched LHS commit whose predecessors were shown. */
if (i < a->nr && a_util->matching < 0) {
- output_pair_header(diffopt,
+ output_pair_header(diffopt,
patch_no_width,
&buf, &dashes, a_util, NULL);
i++;
continue;
&buf, &dashes, a_util, NULL);
i++;
continue;
@@
-386,7
+388,7
@@
static void output(struct string_list *a, struct string_list *b,
/* Show unmatched RHS commits. */
while (j < b->nr && b_util->matching < 0) {
/* Show unmatched RHS commits. */
while (j < b->nr && b_util->matching < 0) {
- output_pair_header(diffopt,
+ output_pair_header(diffopt,
patch_no_width,
&buf, &dashes, NULL, b_util);
b_util = ++j < b->nr ? b->items[j].util : NULL;
}
&buf, &dashes, NULL, b_util);
b_util = ++j < b->nr ? b->items[j].util : NULL;
}
@@
-394,7
+396,7
@@
static void output(struct string_list *a, struct string_list *b,
/* Show matching LHS/RHS pair. */
if (j < b->nr) {
a_util = a->items[b_util->matching].util;
/* Show matching LHS/RHS pair. */
if (j < b->nr) {
a_util = a->items[b_util->matching].util;
- output_pair_header(diffopt,
+ output_pair_header(diffopt,
patch_no_width,
&buf, &dashes, a_util, b_util);
if (!(diffopt->output_format & DIFF_FORMAT_NO_OUTPUT))
patch_diff(a->items[b_util->matching].string,
&buf, &dashes, a_util, b_util);
if (!(diffopt->output_format & DIFF_FORMAT_NO_OUTPUT))
patch_diff(a->items[b_util->matching].string,