Re: [PATCH 3/3] submodule: display summary header in bold

2012-11-12 Thread Jeff King
On Sun, Nov 11, 2012 at 10:29:06PM +0530, Ramkumar Ramachandra wrote:

 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:

 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 p...@peff.net
---
 diff.c | 12 ++--
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/diff.c b/diff.c
index e89a201..978e1af 100644
--- a/diff.c
+++ b/diff.c
@@ -,7 +,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)
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 3/3] submodule: display summary header in bold

2012-11-01 Thread Ramkumar Ramachandra
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.

Signed-off-by: Ramkumar Ramachandra artag...@gmail.com
---
 diff.c  |2 +-
 submodule.c |8 
 submodule.h |2 +-
 3 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/diff.c b/diff.c
index 835eb26..115f384 100644
--- a/diff.c
+++ b/diff.c
@@ -2244,7 +2244,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);
return;
}
 
diff --git a/submodule.c b/submodule.c
index e3e0b45..c10182e 100644
--- a/submodule.c
+++ b/submodule.c
@@ -258,7 +258,7 @@ int parse_fetch_recurse_submodules_arg(const char *opt, 
const char *arg)
 
 void show_submodule_summary(FILE *f, const char *path,
unsigned char one[20], unsigned char two[20],
-   unsigned dirty_submodule,
+   unsigned dirty_submodule, const char *set,
const char *del, const char *add, const char *reset)
 {
struct rev_info rev;
@@ -292,15 +292,15 @@ void show_submodule_summary(FILE *f, const char *path,
return;
}
 
-   strbuf_addf(sb, Submodule %s %s.., path,
+   strbuf_addf(sb, %sSubmodule %s %s.., set, path,
find_unique_abbrev(one, DEFAULT_ABBREV));
if (!fast_backward  !fast_forward)
strbuf_addch(sb, '.');
strbuf_addf(sb, %s, find_unique_abbrev(two, DEFAULT_ABBREV));
if (message)
-   strbuf_addf(sb,  %s\n, message);
+   strbuf_addf(sb,  %s%s\n, message, reset);
else
-   strbuf_addf(sb, %s:\n, fast_backward ?  (rewind) : );
+   strbuf_addf(sb, %s:%s\n, fast_backward ?  (rewind) : , 
reset);
fwrite(sb.buf, sb.len, 1, f);
 
if (!message) {
diff --git a/submodule.h b/submodule.h
index f2e8271..997fd06 100644
--- a/submodule.h
+++ b/submodule.h
@@ -20,7 +20,7 @@ void handle_ignore_submodules_arg(struct diff_options 
*diffopt, const char *);
 int parse_fetch_recurse_submodules_arg(const char *opt, const char *arg);
 void show_submodule_summary(FILE *f, const char *path,
unsigned char one[20], unsigned char two[20],
-   unsigned dirty_submodule,
+   unsigned dirty_submodule, const char *set,
const char *del, const char *add, const char *reset);
 void set_config_fetch_recurse_submodules(int value);
 void check_for_new_submodule_commits(unsigned char new_sha1[20]);
-- 
1.7.8.1.362.g5d6df.dirty

--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html