|
|
|
@ -93,6 +93,30 @@ static void write_name(const char *name)
@@ -93,6 +93,30 @@ static void write_name(const char *name)
|
|
|
|
|
strbuf_release(&full_name); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
static const char *get_tag(const struct cache_entry *ce, const char *tag) |
|
|
|
|
{ |
|
|
|
|
static char alttag[4]; |
|
|
|
|
|
|
|
|
|
if (tag && *tag && show_valid_bit && (ce->ce_flags & CE_VALID)) { |
|
|
|
|
memcpy(alttag, tag, 3); |
|
|
|
|
|
|
|
|
|
if (isalpha(tag[0])) { |
|
|
|
|
alttag[0] = tolower(tag[0]); |
|
|
|
|
} else if (tag[0] == '?') { |
|
|
|
|
alttag[0] = '!'; |
|
|
|
|
} else { |
|
|
|
|
alttag[0] = 'v'; |
|
|
|
|
alttag[1] = tag[0]; |
|
|
|
|
alttag[2] = ' '; |
|
|
|
|
alttag[3] = 0; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
tag = alttag; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return tag; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
static void print_debug(const struct cache_entry *ce) |
|
|
|
|
{ |
|
|
|
|
if (debug_mode) { |
|
|
|
@ -264,22 +288,7 @@ static void show_ce_entry(const struct index_state *istate,
@@ -264,22 +288,7 @@ static void show_ce_entry(const struct index_state *istate,
|
|
|
|
|
len, ps_matched, |
|
|
|
|
S_ISDIR(ce->ce_mode) || |
|
|
|
|
S_ISGITLINK(ce->ce_mode))) { |
|
|
|
|
if (tag && *tag && show_valid_bit && |
|
|
|
|
(ce->ce_flags & CE_VALID)) { |
|
|
|
|
static char alttag[4]; |
|
|
|
|
memcpy(alttag, tag, 3); |
|
|
|
|
if (isalpha(tag[0])) |
|
|
|
|
alttag[0] = tolower(tag[0]); |
|
|
|
|
else if (tag[0] == '?') |
|
|
|
|
alttag[0] = '!'; |
|
|
|
|
else { |
|
|
|
|
alttag[0] = 'v'; |
|
|
|
|
alttag[1] = tag[0]; |
|
|
|
|
alttag[2] = ' '; |
|
|
|
|
alttag[3] = 0; |
|
|
|
|
} |
|
|
|
|
tag = alttag; |
|
|
|
|
} |
|
|
|
|
tag = get_tag(ce, tag); |
|
|
|
|
|
|
|
|
|
if (!show_stage) { |
|
|
|
|
fputs(tag, stdout); |
|
|
|
|