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

@ -269,10 +269,8 @@ static int note_tree_insert(struct notes_tree *t, struct int_node *tree,
case PTR_TYPE_NOTE:
if (oideq(&l->key_oid, &entry->key_oid)) {
/* skip concatenation if l == entry */
if (oideq(&l->val_oid, &entry->val_oid)) {
free(entry);
if (oideq(&l->val_oid, &entry->val_oid))
return 0;
}
ret = combine_notes(&l->val_oid,
&entry->val_oid);
@ -460,7 +458,7 @@ static void load_subtree(struct notes_tree *t, struct leaf_node *subtree,
die("Failed to load %s %s into notes tree "
"from %s",
type == PTR_TYPE_NOTE ? "note" : "subtree",
oid_to_hex(&object_oid), t->ref);
oid_to_hex(&l->key_oid), t->ref);
continue;
@ -576,16 +574,16 @@ redo:
* the note tree that have not yet been explored. There
* is a direct relationship between subtree entries at
* level 'n' in the tree, and the 'fanout' variable:
* Subtree entries at level 'n < 2 * fanout' should be
* Subtree entries at level 'n <= 2 * fanout' should be
* preserved, since they correspond exactly to a fanout
* directory in the on-disk structure. However, subtree
* entries at level 'n >= 2 * fanout' should NOT be
* entries at level 'n > 2 * fanout' should NOT be
* preserved, but rather consolidated into the above
* notes tree level. We achieve this by unconditionally
* unpacking subtree entries that exist below the
* threshold level at 'n = 2 * fanout'.
*/
if (n < 2 * fanout &&
if (n <= 2 * fanout &&
flags & FOR_EACH_NOTE_YIELD_SUBTREES) {
/* invoke callback with subtree */
unsigned int path_len =
@ -602,7 +600,7 @@ redo:
path,
cb_data);
}
if (n >= 2 * fanout ||
if (n > fanout * 2 ||
!(flags & FOR_EACH_NOTE_DONT_UNPACK_SUBTREES)) {
/* unpack subtree and resume traversal */
tree->a[i] = NULL;
@ -723,15 +721,13 @@ static int write_each_note_helper(struct tree_write_stack *tws,
struct write_each_note_data {
struct tree_write_stack *root;
struct non_note **nn_list;
struct non_note *nn_prev;
struct non_note *next_non_note;
};
static int write_each_non_note_until(const char *note_path,
struct write_each_note_data *d)
{
struct non_note *p = d->nn_prev;
struct non_note *n = p ? p->next : *d->nn_list;
struct non_note *n = d->next_non_note;
int cmp = 0, ret;
while (n && (!note_path || (cmp = strcmp(n->path, note_path)) <= 0)) {
if (note_path && cmp == 0)
@ -742,10 +738,9 @@ static int write_each_non_note_until(const char *note_path,
if (ret)
return ret;
}
p = n;
n = n->next;
}
d->nn_prev = p;
d->next_non_note = n;
return 0;
}
@ -1045,39 +1040,6 @@ struct notes_tree **load_notes_trees(struct string_list *refs, int flags)
}
void init_display_notes(struct display_notes_opt *opt)
{
memset(opt, 0, sizeof(*opt));
opt->use_default_notes = -1;
}
void enable_default_display_notes(struct display_notes_opt *opt, int *show_notes)
{
opt->use_default_notes = 1;
*show_notes = 1;
}
void enable_ref_display_notes(struct display_notes_opt *opt, int *show_notes,
const char *ref) {
struct strbuf buf = STRBUF_INIT;
strbuf_addstr(&buf, ref);
expand_notes_ref(&buf);
string_list_append(&opt->extra_notes_refs,
strbuf_detach(&buf, NULL));
*show_notes = 1;
}
void disable_display_notes(struct display_notes_opt *opt, int *show_notes)
{
opt->use_default_notes = -1;
/* we have been strdup'ing ourselves, so trick
* string_list into free()ing strings */
opt->extra_notes_refs.strdup_strings = 1;
string_list_clear(&opt->extra_notes_refs, 0);
opt->extra_notes_refs.strdup_strings = 0;
*show_notes = 0;
}
void load_display_notes(struct display_notes_opt *opt)
{
char *display_ref_env;
int load_config_refs = 0;
@ -1180,8 +1142,7 @@ int write_notes_tree(struct notes_tree *t, struct object_id *result)
strbuf_init(&root.buf, 256 * (32 + the_hash_algo->hexsz)); /* assume 256 entries */
root.path[0] = root.path[1] = '\0';
cb_data.root = &root;
cb_data.nn_list = &(t->first_non_note);
cb_data.nn_prev = NULL;
cb_data.next_non_note = t->first_non_note;
/* Write tree objects representing current notes tree */
flags = FOR_EACH_NOTE_DONT_UNPACK_SUBTREES |
@ -1283,8 +1244,10 @@ static void format_note(struct notes_tree *t, const struct object_id *object_oid
if (!ref || !strcmp(ref, GIT_NOTES_DEFAULT_REF)) {
strbuf_addstr(sb, "\nNotes:\n");
} else {
skip_prefix(ref, "refs/", &ref);
skip_prefix(ref, "notes/", &ref);
if (starts_with(ref, "refs/"))
ref += 5;
if (starts_with(ref, "notes/"))
ref += 6;
strbuf_addf(sb, "\nNotes (%s):\n", ref);
}
}
@ -1334,9 +1297,9 @@ void expand_notes_ref(struct strbuf *sb)
if (starts_with(sb->buf, "refs/notes/"))
return; /* we're happy */
else if (starts_with(sb->buf, "notes/"))
strbuf_insertstr(sb, 0, "refs/");
strbuf_insert(sb, 0, "refs/", 5);
else
strbuf_insertstr(sb, 0, "refs/notes/");
strbuf_insert(sb, 0, "refs/notes/", 11);
}
void expand_loose_notes_ref(struct strbuf *sb)