Merge 'objects-larger-than-4gb-on-windows-pt2'

This is hidden in v2.55.0-rc0's own CI because of an omission in
5ba82911bc (ci: enable EXPENSIVE for contributor builds, 2026-05-11)
which fails to enable EXPENSIVE tests for tags.

Due to 7d78d5fc1a (ci: skip GitHub workflow runs for already-tested
commits/trees, 2020-10-08), the CI of `master` is now also mistakenly
green because it reuses the tag's CI run to prove that it's solid.

This is an evil merge by necessity because `survey.c` needs to adapt to
the changed function signatures.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
This commit is contained in:
Johannes Schindelin
2026-06-12 08:48:21 +02:00
committed by Git for Windows Build Agent
71 changed files with 294 additions and 243 deletions

5
diff.c
View File

@@ -4595,8 +4595,9 @@ int diff_populate_filespec(struct repository *r,
}
}
else {
size_t size_st = 0;
struct object_info info = {
.sizep = &s->size
.sizep = &size_st
};
if (!(size_only || check_binary))
@@ -4618,6 +4619,7 @@ int diff_populate_filespec(struct repository *r,
die("unable to read %s", oid_to_hex(&s->oid));
object_read:
s->size = cast_size_t_to_ulong(size_st);
if (size_only || check_binary) {
if (size_only)
return 0;
@@ -4632,6 +4634,7 @@ object_read:
if (odb_read_object_info_extended(r->objects, &s->oid, &info,
OBJECT_INFO_LOOKUP_REPLACE))
die("unable to read %s", oid_to_hex(&s->oid));
s->size = cast_size_t_to_ulong(size_st);
}
s->should_free = 1;
}