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

@ -5,7 +5,6 @@
#include "connected.h"
#include "transport.h"
#include "packfile.h"
#include "promisor-remote.h"
/*
* If we feed all the commits we want to verify to this command
@ -29,7 +28,6 @@ int check_connected(oid_iterate_fn fn, void *cb_data,
struct packed_git *new_pack = NULL;
struct transport *transport;
size_t base_len;
const unsigned hexsz = the_hash_algo->hexsz;
if (!opt)
opt = &defaults;
@ -52,28 +50,18 @@ int check_connected(oid_iterate_fn fn, void *cb_data,
strbuf_release(&idx_file);
}
if (opt->check_refs_are_promisor_objects_only) {
if (opt->check_refs_only) {
/*
* For partial clones, we don't want to have to do a regular
* connectivity check because we have to enumerate and exclude
* all promisor objects (slow), and then the connectivity check
* itself becomes a no-op because in a partial clone every
* object is a promisor object. Instead, just make sure we
* received, in a promisor packfile, the objects pointed to by
* each wanted ref.
* received the objects pointed to by each wanted ref.
*/
do {
struct packed_git *p;
for (p = get_all_packs(the_repository); p; p = p->next) {
if (!p->pack_promisor)
continue;
if (find_pack_entry_one(oid.hash, p))
goto promisor_pack_found;
}
return 1;
promisor_pack_found:
;
if (!repo_has_object_file(the_repository, &oid))
return 1;
} while (!fn(cb_data, &oid));
return 0;
}
@ -85,7 +73,7 @@ promisor_pack_found:
argv_array_push(&rev_list.args,"rev-list");
argv_array_push(&rev_list.args, "--objects");
argv_array_push(&rev_list.args, "--stdin");
if (has_promisor_remote())
if (repository_format_partial_clone)
argv_array_push(&rev_list.args, "--exclude-promisor-objects");
if (!opt->is_deepening_fetch) {
argv_array_push(&rev_list.args, "--not");
@ -111,7 +99,7 @@ promisor_pack_found:
sigchain_push(SIGPIPE, SIG_IGN);
commit[hexsz] = '\n';
commit[GIT_SHA1_HEXSZ] = '\n';
do {
/*
* If index-pack already checked that:
@ -124,8 +112,8 @@ promisor_pack_found:
if (new_pack && find_pack_entry_one(oid.hash, new_pack))
continue;
memcpy(commit, oid_to_hex(&oid), hexsz);
if (write_in_full(rev_list.in, commit, hexsz + 1) < 0) {
memcpy(commit, oid_to_hex(&oid), GIT_SHA1_HEXSZ);
if (write_in_full(rev_list.in, commit, GIT_SHA1_HEXSZ + 1) < 0) {
if (errno != EPIPE && errno != EINVAL)
error_errno(_("failed write to rev-list"));
err = -1;