revert(3p/git): Revert merge of git upstream at v2.26.2
This causes cgit to serve error pages, which is undesirable. This reverts commit5229c9b232, reversing changes made tof2b211131f.
This commit is contained in:
parent
6f8fbf4aa4
commit
93ba78d6f4
1006 changed files with 60537 additions and 148724 deletions
87
third_party/git/sha1-name.c
vendored
87
third_party/git/sha1-name.c
vendored
|
|
@ -155,6 +155,7 @@ static void unique_in_pack(struct packed_git *p,
|
|||
struct disambiguate_state *ds)
|
||||
{
|
||||
uint32_t num, i, first = 0;
|
||||
const struct object_id *current = NULL;
|
||||
|
||||
if (p->multi_pack_index)
|
||||
return;
|
||||
|
|
@ -172,10 +173,10 @@ static void unique_in_pack(struct packed_git *p,
|
|||
*/
|
||||
for (i = first; i < num && !ds->ambiguous; i++) {
|
||||
struct object_id oid;
|
||||
nth_packed_object_id(&oid, p, i);
|
||||
if (!match_sha(ds->len, ds->bin_pfx.hash, oid.hash))
|
||||
current = nth_packed_object_oid(&oid, p, i);
|
||||
if (!match_sha(ds->len, ds->bin_pfx.hash, current->hash))
|
||||
break;
|
||||
update_candidates(ds, &oid);
|
||||
update_candidates(ds, current);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -402,9 +403,9 @@ static int repo_collect_ambiguous(struct repository *r,
|
|||
return collect_ambiguous(oid, data);
|
||||
}
|
||||
|
||||
static int sort_ambiguous(const void *a, const void *b, void *ctx)
|
||||
static struct repository *sort_ambiguous_repo;
|
||||
static int sort_ambiguous(const void *a, const void *b)
|
||||
{
|
||||
struct repository *sort_ambiguous_repo = ctx;
|
||||
int a_type = oid_object_info(sort_ambiguous_repo, a, NULL);
|
||||
int b_type = oid_object_info(sort_ambiguous_repo, b, NULL);
|
||||
int a_type_sort;
|
||||
|
|
@ -433,7 +434,10 @@ static int sort_ambiguous(const void *a, const void *b, void *ctx)
|
|||
|
||||
static void sort_ambiguous_oid_array(struct repository *r, struct oid_array *a)
|
||||
{
|
||||
QSORT_S(a->oid, a->nr, sort_ambiguous, r);
|
||||
/* mutex will be needed if this code is to be made thread safe */
|
||||
sort_ambiguous_repo = r;
|
||||
QSORT(a->oid, a->nr, sort_ambiguous);
|
||||
sort_ambiguous_repo = NULL;
|
||||
}
|
||||
|
||||
static enum get_oid_result get_short_oid(struct repository *r,
|
||||
|
|
@ -642,14 +646,14 @@ static void find_abbrev_len_for_pack(struct packed_git *p,
|
|||
*/
|
||||
mad->init_len = 0;
|
||||
if (!match) {
|
||||
if (!nth_packed_object_id(&oid, p, first))
|
||||
if (nth_packed_object_oid(&oid, p, first))
|
||||
extend_abbrev_len(&oid, mad);
|
||||
} else if (first < num - 1) {
|
||||
if (!nth_packed_object_id(&oid, p, first + 1))
|
||||
if (nth_packed_object_oid(&oid, p, first + 1))
|
||||
extend_abbrev_len(&oid, mad);
|
||||
}
|
||||
if (first > 0) {
|
||||
if (!nth_packed_object_id(&oid, p, first - 1))
|
||||
if (nth_packed_object_oid(&oid, p, first - 1))
|
||||
extend_abbrev_len(&oid, mad);
|
||||
}
|
||||
mad->init_len = mad->cur_len;
|
||||
|
|
@ -907,21 +911,26 @@ static int get_oid_basic(struct repository *r, const char *str, int len,
|
|||
real_ref, flags, at_time, nth, oid, NULL,
|
||||
&co_time, &co_tz, &co_cnt)) {
|
||||
if (!len) {
|
||||
if (!skip_prefix(real_ref, "refs/heads/", &str))
|
||||
if (starts_with(real_ref, "refs/heads/")) {
|
||||
str = real_ref + 11;
|
||||
len = strlen(real_ref + 11);
|
||||
} else {
|
||||
/* detached HEAD */
|
||||
str = "HEAD";
|
||||
len = strlen(str);
|
||||
len = 4;
|
||||
}
|
||||
}
|
||||
if (at_time) {
|
||||
if (!(flags & GET_OID_QUIETLY)) {
|
||||
warning(_("log for '%.*s' only goes back to %s"),
|
||||
len, str,
|
||||
warning("Log for '%.*s' only goes "
|
||||
"back to %s.", len, str,
|
||||
show_date(co_time, co_tz, DATE_MODE(RFC2822)));
|
||||
}
|
||||
} else {
|
||||
if (flags & GET_OID_QUIETLY) {
|
||||
exit(128);
|
||||
}
|
||||
die(_("log for '%.*s' only has %d entries"),
|
||||
die("Log for '%.*s' only has %d entries.",
|
||||
len, str, co_cnt);
|
||||
}
|
||||
}
|
||||
|
|
@ -1154,22 +1163,13 @@ static enum get_oid_result get_oid_1(struct repository *r,
|
|||
}
|
||||
|
||||
if (has_suffix) {
|
||||
unsigned int num = 0;
|
||||
int num = 0;
|
||||
int len1 = cp - name;
|
||||
cp++;
|
||||
while (cp < name + len) {
|
||||
unsigned int digit = *cp++ - '0';
|
||||
if (unsigned_mult_overflows(num, 10))
|
||||
return MISSING_OBJECT;
|
||||
num *= 10;
|
||||
if (unsigned_add_overflows(num, digit))
|
||||
return MISSING_OBJECT;
|
||||
num += digit;
|
||||
}
|
||||
while (cp < name + len)
|
||||
num = num * 10 + *cp++ - '0';
|
||||
if (!num && len1 == len - 1)
|
||||
num = 1;
|
||||
else if (num > INT_MAX)
|
||||
return MISSING_OBJECT;
|
||||
if (has_suffix == '^')
|
||||
return get_parent(r, name, len1, oid, num);
|
||||
/* else if (has_suffix == '~') -- goes without saying */
|
||||
|
|
@ -1289,7 +1289,7 @@ static int get_oid_oneline(struct repository *r,
|
|||
|
||||
struct grab_nth_branch_switch_cbdata {
|
||||
int remaining;
|
||||
struct strbuf *sb;
|
||||
struct strbuf buf;
|
||||
};
|
||||
|
||||
static int grab_nth_branch_switch(struct object_id *ooid, struct object_id *noid,
|
||||
|
|
@ -1307,8 +1307,8 @@ static int grab_nth_branch_switch(struct object_id *ooid, struct object_id *noid
|
|||
return 0;
|
||||
if (--(cb->remaining) == 0) {
|
||||
len = target - match;
|
||||
strbuf_reset(cb->sb);
|
||||
strbuf_add(cb->sb, match, len);
|
||||
strbuf_reset(&cb->buf);
|
||||
strbuf_add(&cb->buf, match, len);
|
||||
return 1; /* we are done */
|
||||
}
|
||||
return 0;
|
||||
|
|
@ -1341,15 +1341,18 @@ static int interpret_nth_prior_checkout(struct repository *r,
|
|||
if (nth <= 0)
|
||||
return -1;
|
||||
cb.remaining = nth;
|
||||
cb.sb = buf;
|
||||
strbuf_init(&cb.buf, 20);
|
||||
|
||||
retval = refs_for_each_reflog_ent_reverse(get_main_ref_store(r),
|
||||
"HEAD", grab_nth_branch_switch, &cb);
|
||||
if (0 < retval) {
|
||||
strbuf_reset(buf);
|
||||
strbuf_addbuf(buf, &cb.buf);
|
||||
retval = brace - name + 1;
|
||||
} else
|
||||
retval = 0;
|
||||
|
||||
strbuf_release(&cb.buf);
|
||||
return retval;
|
||||
}
|
||||
|
||||
|
|
@ -1686,14 +1689,14 @@ static void diagnose_invalid_oid_path(struct repository *r,
|
|||
prefix = "";
|
||||
|
||||
if (file_exists(filename))
|
||||
die(_("path '%s' exists on disk, but not in '%.*s'"),
|
||||
die("Path '%s' exists on disk, but not in '%.*s'.",
|
||||
filename, object_name_len, object_name);
|
||||
if (is_missing_file_error(errno)) {
|
||||
char *fullname = xstrfmt("%s%s", prefix, filename);
|
||||
|
||||
if (!get_tree_entry(r, tree_oid, fullname, &oid, &mode)) {
|
||||
die(_("path '%s' exists, but not '%s'\n"
|
||||
"hint: Did you mean '%.*s:%s' aka '%.*s:./%s'?"),
|
||||
die("Path '%s' exists, but not '%s'.\n"
|
||||
"Did you mean '%.*s:%s' aka '%.*s:./%s'?",
|
||||
fullname,
|
||||
filename,
|
||||
object_name_len, object_name,
|
||||
|
|
@ -1701,7 +1704,7 @@ static void diagnose_invalid_oid_path(struct repository *r,
|
|||
object_name_len, object_name,
|
||||
filename);
|
||||
}
|
||||
die(_("path '%s' does not exist in '%.*s'"),
|
||||
die("Path '%s' does not exist in '%.*s'",
|
||||
filename, object_name_len, object_name);
|
||||
}
|
||||
}
|
||||
|
|
@ -1729,8 +1732,8 @@ static void diagnose_invalid_index_path(struct repository *r,
|
|||
ce = istate->cache[pos];
|
||||
if (ce_namelen(ce) == namelen &&
|
||||
!memcmp(ce->name, filename, namelen))
|
||||
die(_("path '%s' is in the index, but not at stage %d\n"
|
||||
"hint: Did you mean ':%d:%s'?"),
|
||||
die("Path '%s' is in the index, but not at stage %d.\n"
|
||||
"Did you mean ':%d:%s'?",
|
||||
filename, stage,
|
||||
ce_stage(ce), filename);
|
||||
}
|
||||
|
|
@ -1745,17 +1748,17 @@ static void diagnose_invalid_index_path(struct repository *r,
|
|||
ce = istate->cache[pos];
|
||||
if (ce_namelen(ce) == fullname.len &&
|
||||
!memcmp(ce->name, fullname.buf, fullname.len))
|
||||
die(_("path '%s' is in the index, but not '%s'\n"
|
||||
"hint: Did you mean ':%d:%s' aka ':%d:./%s'?"),
|
||||
die("Path '%s' is in the index, but not '%s'.\n"
|
||||
"Did you mean ':%d:%s' aka ':%d:./%s'?",
|
||||
fullname.buf, filename,
|
||||
ce_stage(ce), fullname.buf,
|
||||
ce_stage(ce), filename);
|
||||
}
|
||||
|
||||
if (repo_file_exists(r, filename))
|
||||
die(_("path '%s' exists on disk, but not in the index"), filename);
|
||||
die("Path '%s' exists on disk, but not in the index.", filename);
|
||||
if (is_missing_file_error(errno))
|
||||
die(_("path '%s' does not exist (neither on disk nor in the index)"),
|
||||
die("Path '%s' does not exist (neither on disk nor in the index).",
|
||||
filename);
|
||||
|
||||
strbuf_release(&fullname);
|
||||
|
|
@ -1768,7 +1771,7 @@ static char *resolve_relative_path(struct repository *r, const char *rel)
|
|||
return NULL;
|
||||
|
||||
if (r != the_repository || !is_inside_work_tree())
|
||||
die(_("relative path syntax can't be used outside working tree"));
|
||||
die("relative path syntax can't be used outside working tree.");
|
||||
|
||||
/* die() inside prefix_path() if resolved path is outside worktree */
|
||||
return prefix_path(startup_info->prefix,
|
||||
|
|
@ -1906,7 +1909,7 @@ static enum get_oid_result get_oid_with_context_1(struct repository *repo,
|
|||
return ret;
|
||||
} else {
|
||||
if (only_to_die)
|
||||
die(_("invalid object name '%.*s'."), len, name);
|
||||
die("Invalid object name '%.*s'.", len, name);
|
||||
}
|
||||
}
|
||||
return ret;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue