Merge branch 'jk/status-z-short-fix'
The "--short" option of "git status" that meant output for humans and "-z" option to show NUL delimited output format did not mix well, and colored some but not all things. The command has been updated to color all elements consistently in such a case. * jk/status-z-short-fix: status: make coloring of "-z --short" consistentmain
commit
e7909b3a90
|
|
@ -717,6 +717,17 @@ test_expect_success TTY 'status -s with color.status' '
|
|||
|
||||
'
|
||||
|
||||
test_expect_success TTY 'status -s keeps colors with -z' '
|
||||
test_when_finished "rm -f output.*" &&
|
||||
test_terminal git status -s -z >output.raw &&
|
||||
# convert back to newlines to avoid portability issues with
|
||||
# test_decode_color and test_cmp, and to let us use the same expected
|
||||
# output as earlier tests
|
||||
tr "\0" "\n" <output.raw >output.nl &&
|
||||
test_decode_color <output.nl >output &&
|
||||
test_cmp expect output
|
||||
'
|
||||
|
||||
cat >expect <<\EOF
|
||||
## <YELLOW>main<RESET>...<CYAN>upstream<RESET> [ahead <YELLOW>1<RESET>, behind <CYAN>2<RESET>]
|
||||
<RED>M<RESET> dir1/modified
|
||||
|
|
|
|||
|
|
@ -2042,13 +2042,13 @@ static void wt_shortstatus_status(struct string_list_item *it,
|
|||
static void wt_shortstatus_other(struct string_list_item *it,
|
||||
struct wt_status *s, const char *sign)
|
||||
{
|
||||
color_fprintf(s->fp, color(WT_STATUS_UNTRACKED, s), "%s", sign);
|
||||
if (s->null_termination) {
|
||||
fprintf(s->fp, "%s %s%c", sign, it->string, 0);
|
||||
fprintf(s->fp, " %s%c", it->string, 0);
|
||||
} else {
|
||||
struct strbuf onebuf = STRBUF_INIT;
|
||||
const char *one;
|
||||
one = quote_path(it->string, s->prefix, &onebuf, QUOTE_PATH_QUOTE_SP);
|
||||
color_fprintf(s->fp, color(WT_STATUS_UNTRACKED, s), "%s", sign);
|
||||
fprintf(s->fp, " %s\n", one);
|
||||
strbuf_release(&onebuf);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue