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

@ -8,7 +8,6 @@
#include "pkt-line.h"
#include "sub-process.h"
#include "utf8.h"
#include "ll-merge.h"
/*
* convert.c - convert a file when checking it out and checking it in.
@ -270,12 +269,8 @@ static int will_convert_lf_to_crlf(struct text_stat *stats,
static int validate_encoding(const char *path, const char *enc,
const char *data, size_t len, int die_on_error)
{
const char *stripped;
/* We only check for UTF here as UTF?? can be an alias for UTF-?? */
if (skip_iprefix(enc, "UTF", &stripped)) {
skip_prefix(stripped, "-", &stripped);
if (istarts_with(enc, "UTF")) {
/*
* Check for detectable errors in UTF encodings
*/
@ -289,10 +284,15 @@ static int validate_encoding(const char *path, const char *enc,
*/
const char *advise_msg = _(
"The file '%s' contains a byte order "
"mark (BOM). Please use UTF-%.*s as "
"mark (BOM). Please use UTF-%s as "
"working-tree-encoding.");
int stripped_len = strlen(stripped) - strlen("BE");
advise(advise_msg, path, stripped_len, stripped);
const char *stripped = NULL;
char *upper = xstrdup_toupper(enc);
upper[strlen(upper)-2] = '\0';
if (!skip_prefix(upper, "UTF-", &stripped))
skip_prefix(stripped, "UTF", &stripped);
advise(advise_msg, path, stripped);
free(upper);
if (die_on_error)
die(error_msg, path, enc);
else {
@ -307,7 +307,12 @@ static int validate_encoding(const char *path, const char *enc,
"mark (BOM). Please use UTF-%sBE or UTF-%sLE "
"(depending on the byte order) as "
"working-tree-encoding.");
const char *stripped = NULL;
char *upper = xstrdup_toupper(enc);
if (!skip_prefix(upper, "UTF-", &stripped))
skip_prefix(stripped, "UTF", &stripped);
advise(advise_msg, path, stripped, stripped);
free(upper);
if (die_on_error)
die(error_msg, path, enc);
else {
@ -412,7 +417,7 @@ static int encode_to_git(const char *path, const char *src, size_t src_len,
if (!dst) {
/*
* We could add the blob "as-is" to Git. However, on checkout
* we would try to re-encode to the original encoding. This
* we would try to reencode to the original encoding. This
* would fail and we would leave the user with a messed-up
* working tree. Let's try to avoid this by screaming loud.
*/
@ -1146,7 +1151,7 @@ static int ident_to_worktree(const char *src, size_t len,
/* are we "faking" in place editing ? */
if (src == buf->buf)
to_free = strbuf_detach(buf, NULL);
hash_object_file(the_hash_algo, src, len, "blob", &oid);
hash_object_file(src, len, "blob", &oid);
strbuf_grow(buf, len + cnt * (the_hash_algo->hexsz + 3));
for (;;) {
@ -1288,11 +1293,10 @@ struct conv_attrs {
const char *working_tree_encoding; /* Supported encoding or default encoding if NULL */
};
static struct attr_check *check;
static void convert_attrs(const struct index_state *istate,
struct conv_attrs *ca, const char *path)
{
static struct attr_check *check;
struct attr_check_item *ccheck = NULL;
if (!check) {
@ -1335,23 +1339,6 @@ static void convert_attrs(const struct index_state *istate,
ca->crlf_action = CRLF_AUTO_INPUT;
}
void reset_parsed_attributes(void)
{
struct convert_driver *drv, *next;
attr_check_free(check);
check = NULL;
reset_merge_attributes();
for (drv = user_convert; drv; drv = next) {
next = drv->next;
free((void *)drv->name);
free(drv);
}
user_convert = NULL;
user_convert_tail = NULL;
}
int would_convert_to_git_filter_fd(const struct index_state *istate, const char *path)
{
struct conv_attrs ca;
@ -1940,7 +1927,7 @@ static struct stream_filter *ident_filter(const struct object_id *oid)
* the contents cannot be filtered without reading the whole thing
* in-core.
*
* Note that you would be crazy to set CRLF, smudge/clean or ident to a
* Note that you would be crazy to set CRLF, smuge/clean or ident to a
* large binary blob you would want us not to slurp into the memory!
*/
struct stream_filter *get_stream_filter(const struct index_state *istate,