Re: [PATCH 3/3] submodule: display summary header in bold
On Sun, Nov 11, 2012 at 10:29:06PM +0530, Ramkumar Ramachandra wrote:
Show 14 quoted lines
> Currently, 'git diff --submodule' displays output with a bold diff
> header for non-submodules. So this part is in bold:
>
> diff --git a/file1 b/file1
> index 30b2f6c..2638038 100644
> --- a/file1
> +++ b/file1
>
> For submodules, the header looks like this:
>
> Submodule submodule1 012b072..248d0fd:
>
> Unfortunately, it's easy to miss in the output because it's not bold.
> Change this.
Reading this, I was at first concerned that you were using "bold" and not DIFF_METAINFO. But:
Show 10 quoted lines
> diff --git a/diff.c b/diff.c
> index b486070..51c0d6c 100644
> --- a/diff.c
> +++ b/diff.c
> @@ -2267,7 +2267,7 @@ static void builtin_diff(const char *name_a,
> const char *add = diff_get_color_opt(o, DIFF_FILE_NEW);
> show_submodule_summary(o->file, one ? one->path : two->path,
> one->sha1, two->sha1, two->dirty_submodule,
> - del, add, reset);
> + set, del, add, reset);
This is correctly passing the DIFF_METAINFO color, which is in the "set" variable. Good. I looked at the output on a sample repository, and it is much easier to read (though I use magenta for my metainfo).
"set" is a terrible name for that variable (not your fault, of course). When you re-roll (and I think you need to because of the diff_ui thing in patch 2), would you mind throwing this cleanup in the middle?
-- >8 --
Subject: builtin_diff: rename "set" variable
Once upon a time the builtin_diff function used one color, and the color variables were called "set" and "reset". Nowadays it is a much longer function and we use several colors (e.g., "add", "del"). Rename "set" to "meta" to show that it is the color for showing diff meta-info (it still does not indicate that it is a "color", but at least it matches the scheme of the other color variables).
Signed-off-by: Jeff King <peff@peff.net>
---
diff.c | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
Show changes to diff.c +6 −6
diff --git a/diff.c b/diff.c
index e89a201..978e1af 100644
--- a/diff.c
+++ b/diff.c
@@ -2222,7 +2222,7 @@ static void builtin_diff(const char *name_a,
mmfile_t mf1, mf2;
const char *lbl[2];
char *a_one, *b_two;
- const char *set = diff_get_color_opt(o, DIFF_METAINFO);
+ const char *meta = diff_get_color_opt(o, DIFF_METAINFO);
const char *reset = diff_get_color_opt(o, DIFF_RESET);
const char *a_prefix, *b_prefix;
struct userdiff_driver *textconv_one = NULL;
@@ -2269,24 +2269,24 @@ static void builtin_diff(const char *name_a,
b_two = quote_two(b_prefix, name_b + (*name_b == '/'));
lbl[0] = DIFF_FILE_VALID(one) ? a_one : "/dev/null";
lbl[1] = DIFF_FILE_VALID(two) ? b_two : "/dev/null";
- strbuf_addf(&header, "%s%sdiff --git %s %s%s\n", line_prefix, set, a_one, b_two, reset);
+ strbuf_addf(&header, "%s%sdiff --git %s %s%s\n", line_prefix, meta, a_one, b_two, reset);
if (lbl[0][0] == '/') {
/* /dev/null */
- strbuf_addf(&header, "%s%snew file mode %06o%s\n", line_prefix, set, two->mode, reset);
+ strbuf_addf(&header, "%s%snew file mode %06o%s\n", line_prefix, meta, two->mode, reset);
if (xfrm_msg)
strbuf_addstr(&header, xfrm_msg);
must_show_header = 1;
}
else if (lbl[1][0] == '/') {
- strbuf_addf(&header, "%s%sdeleted file mode %06o%s\n", line_prefix, set, one->mode, reset);
+ strbuf_addf(&header, "%s%sdeleted file mode %06o%s\n", line_prefix, meta, one->mode, reset);
if (xfrm_msg)
strbuf_addstr(&header, xfrm_msg);
must_show_header = 1;
}
else {
if (one->mode != two->mode) {
- strbuf_addf(&header, "%s%sold mode %06o%s\n", line_prefix, set, one->mode, reset);
- strbuf_addf(&header, "%s%snew mode %06o%s\n", line_prefix, set, two->mode, reset);
+ strbuf_addf(&header, "%s%sold mode %06o%s\n", line_prefix, meta, one->mode, reset);
+ strbuf_addf(&header, "%s%snew mode %06o%s\n", line_prefix, meta, two->mode, reset);
must_show_header = 1;
}
if (xfrm_msg)