ls-files: factor out tag calculation
Signed-off-by: Brandon Williams <bmwill@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
5306ccf9e9
commit
a84f3e59eb
@ -93,6 +93,30 @@ static void write_name(const char *name)
|
|||||||
strbuf_release(&full_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)
|
static void print_debug(const struct cache_entry *ce)
|
||||||
{
|
{
|
||||||
if (debug_mode) {
|
if (debug_mode) {
|
||||||
@ -264,22 +288,7 @@ static void show_ce_entry(const struct index_state *istate,
|
|||||||
len, ps_matched,
|
len, ps_matched,
|
||||||
S_ISDIR(ce->ce_mode) ||
|
S_ISDIR(ce->ce_mode) ||
|
||||||
S_ISGITLINK(ce->ce_mode))) {
|
S_ISGITLINK(ce->ce_mode))) {
|
||||||
if (tag && *tag && show_valid_bit &&
|
tag = get_tag(ce, tag);
|
||||||
(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;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!show_stage) {
|
if (!show_stage) {
|
||||||
fputs(tag, stdout);
|
fputs(tag, stdout);
|
||||||
|
Loading…
Reference in New Issue
Block a user