revert(3p/git): Revert merge of git upstream at v2.26.2

This causes cgit to serve error pages, which is undesirable.

This reverts commit 5229c9b232, reversing
changes made to f2b211131f.
This commit is contained in:
Vincent Ambo 2020-05-26 00:06:52 +01:00
parent 6f8fbf4aa4
commit 93ba78d6f4
1006 changed files with 60537 additions and 148724 deletions

View file

@ -24,14 +24,6 @@ const char *column_colors_ansi[] = {
GIT_COLOR_RESET,
};
enum {
COLOR_BACKGROUND_OFFSET = 10,
COLOR_FOREGROUND_ANSI = 30,
COLOR_FOREGROUND_RGB = 38,
COLOR_FOREGROUND_256 = 38,
COLOR_FOREGROUND_BRIGHT_ANSI = 90,
};
/* Ignore the RESET at the end when giving the size */
const int column_colors_ansi_max = ARRAY_SIZE(column_colors_ansi) - 1;
@ -69,38 +61,15 @@ static int get_hex_color(const char *in, unsigned char *out)
return 0;
}
/*
* If an ANSI color is recognized in "name", fill "out" and return 0.
* Otherwise, leave out unchanged and return -1.
*/
static int parse_ansi_color(struct color *out, const char *name, int len)
static int parse_color(struct color *out, const char *name, int len)
{
/* Positions in array must match ANSI color codes */
static const char * const color_names[] = {
"black", "red", "green", "yellow",
"blue", "magenta", "cyan", "white"
};
int i;
int color_offset = COLOR_FOREGROUND_ANSI;
if (strncasecmp(name, "bright", 6) == 0) {
color_offset = COLOR_FOREGROUND_BRIGHT_ANSI;
name += 6;
len -= 6;
}
for (i = 0; i < ARRAY_SIZE(color_names); i++) {
if (match_word(name, len, color_names[i])) {
out->type = COLOR_ANSI;
out->value = i + color_offset;
return 0;
}
}
return -1;
}
static int parse_color(struct color *out, const char *name, int len)
{
char *end;
int i;
long val;
/* First try the special word "normal"... */
@ -120,8 +89,12 @@ static int parse_color(struct color *out, const char *name, int len)
}
/* Then pick from our human-readable color names... */
if (parse_ansi_color(out, name, len) == 0) {
return 0;
for (i = 0; i < ARRAY_SIZE(color_names); i++) {
if (match_word(name, len, color_names[i])) {
out->type = COLOR_ANSI;
out->value = i;
return 0;
}
}
/* And finally try a literal 256-color-mode number */
@ -136,15 +109,10 @@ static int parse_color(struct color *out, const char *name, int len)
else if (val < 0) {
out->type = COLOR_NORMAL;
return 0;
/* Rewrite 0-7 as more-portable standard colors. */
/* Rewrite low numbers as more-portable standard colors. */
} else if (val < 8) {
out->type = COLOR_ANSI;
out->value = val + COLOR_FOREGROUND_ANSI;
return 0;
/* Rewrite 8-15 as more-portable aixterm colors. */
} else if (val < 16) {
out->type = COLOR_ANSI;
out->value = val - 8 + COLOR_FOREGROUND_BRIGHT_ANSI;
out->value = val;
return 0;
} else if (val < 256) {
out->type = COLOR_256;
@ -198,26 +166,23 @@ int color_parse(const char *value, char *dst)
* already have the ANSI escape code in it. "out" should have enough
* space in it to fit any color.
*/
static char *color_output(char *out, int len, const struct color *c, int background)
static char *color_output(char *out, int len, const struct color *c, char type)
{
int offset = 0;
if (background)
offset = COLOR_BACKGROUND_OFFSET;
switch (c->type) {
case COLOR_UNSPECIFIED:
case COLOR_NORMAL:
break;
case COLOR_ANSI:
out += xsnprintf(out, len, "%d", c->value + offset);
if (len < 2)
BUG("color parsing ran out of space");
*out++ = type;
*out++ = '0' + c->value;
break;
case COLOR_256:
out += xsnprintf(out, len, "%d;5;%d", COLOR_FOREGROUND_256 + offset,
c->value);
out += xsnprintf(out, len, "%c8;5;%d", type, c->value);
break;
case COLOR_RGB:
out += xsnprintf(out, len, "%d;2;%d;%d;%d",
COLOR_FOREGROUND_RGB + offset,
out += xsnprintf(out, len, "%c8;2;%d;%d;%d", type,
c->red, c->green, c->blue);
break;
}
@ -314,12 +279,14 @@ int color_parse_mem(const char *value, int value_len, char *dst)
if (!color_empty(&fg)) {
if (sep++)
OUT(';');
dst = color_output(dst, end - dst, &fg, 0);
/* foreground colors are all in the 3x range */
dst = color_output(dst, end - dst, &fg, '3');
}
if (!color_empty(&bg)) {
if (sep++)
OUT(';');
dst = color_output(dst, end - dst, &bg, 1);
/* background colors are all in the 4x range */
dst = color_output(dst, end - dst, &bg, '4');
}
OUT('m');
}