]> git.ipfire.org Git - thirdparty/git.git/commitdiff
Merge branch 'ps/object-wo-the-repository'
authorJunio C Hamano <gitster@pobox.com>
Tue, 15 Apr 2025 20:50:14 +0000 (13:50 -0700)
committerJunio C Hamano <gitster@pobox.com>
Tue, 15 Apr 2025 20:50:15 +0000 (13:50 -0700)
The object layer has been updated to take an explicit repository
instance as a parameter in more code paths.

* ps/object-wo-the-repository:
  hash: stop depending on `the_repository` in `null_oid()`
  hash: fix "-Wsign-compare" warnings
  object-file: split out logic regarding hash algorithms
  delta-islands: stop depending on `the_repository`
  object-file-convert: stop depending on `the_repository`
  pack-bitmap-write: stop depending on `the_repository`
  pack-revindex: stop depending on `the_repository`
  pack-check: stop depending on `the_repository`
  environment: move access to "core.bigFileThreshold" into repo settings
  pack-write: stop depending on `the_repository` and `the_hash_algo`
  object: stop depending on `the_repository`
  csum-file: stop depending on `the_repository`

30 files changed:
1  2 
Makefile
builtin/clone.c
builtin/fast-export.c
builtin/fast-import.c
builtin/fsck.c
builtin/index-pack.c
builtin/ls-files.c
builtin/name-rev.c
builtin/pack-objects.c
builtin/unpack-objects.c
builtin/update-ref.c
bulk-checkin.c
commit.c
config.c
diff.c
diff.h
hash.h
merge-ort.c
merge-recursive.c
meson.build
midx-write.c
object-file.c
pack-bitmap-write.c
pack-bitmap.c
pack-bitmap.h
pack-revindex.c
refs.c
refs/debug.c
refs/files-backend.c
sequencer.c

diff --cc Makefile
Simple merge
diff --cc builtin/clone.c
Simple merge
Simple merge
Simple merge
diff --cc builtin/fsck.c
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
diff --cc bulk-checkin.c
Simple merge
diff --cc commit.c
Simple merge
diff --cc config.c
Simple merge
diff --cc diff.c
Simple merge
diff --cc diff.h
Simple merge
diff --cc hash.h
Simple merge
diff --cc merge-ort.c
Simple merge
Simple merge
diff --cc meson.build
Simple merge
diff --cc midx-write.c
index 0897cbd829f84dbbd0dce95debce014fba7df965,a628ac24dcb4281c86cc2d5b896a7cdfbc032873..48a4dc5e9439122f18ade231de40adbd099cfded
@@@ -656,15 -655,10 +656,15 @@@ static void write_midx_reverse_index(st
  
        trace2_region_enter("midx", "write_midx_reverse_index", ctx->repo);
  
 -      strbuf_addf(&buf, "%s-%s.rev", midx_name, hash_to_hex_algop(midx_hash,
 -                                                                  ctx->repo->hash_algo));
 +      if (ctx->incremental)
 +              get_split_midx_filename_ext(ctx->repo->hash_algo, &buf,
 +                                          object_dir, midx_hash,
 +                                          MIDX_EXT_REV);
 +      else
 +              get_midx_filename_ext(ctx->repo->hash_algo, &buf, object_dir,
 +                                    midx_hash, MIDX_EXT_REV);
  
-       tmp_file = write_rev_file_order(ctx->repo->hash_algo, NULL, ctx->pack_order,
+       tmp_file = write_rev_file_order(ctx->repo, NULL, ctx->pack_order,
                                        ctx->entries_nr, midx_hash, WRITE_REV);
  
        if (finalize_object_file(tmp_file, buf.buf))
diff --cc object-file.c
index 8da62fed0b0dacc031b5a7153313b292fa597d12,772c311f188a222ad8f3e90104f2c3065deab8a0..f3810871f0d853ae45d4fbcbce3b80ebc0c1123c
@@@ -3131,12 -2858,14 +2856,13 @@@ int read_loose_object(const char *path
  
        if (parse_loose_header(hdr, oi) < 0) {
                error(_("unable to parse header of %s"), path);
 -              git_inflate_end(&stream);
 -              goto out;
 +              goto out_inflate;
        }
  
-       if (*oi->typep == OBJ_BLOB && *size > big_file_threshold) {
+       if (*oi->typep == OBJ_BLOB &&
+           *size > repo_settings_get_big_file_threshold(the_repository)) {
                if (check_stream_oid(&stream, hdr, *size, path, expected_oid) < 0)
 -                      goto out;
 +                      goto out_inflate;
        } else {
                *contents = unpack_loose_rest(&stream, hdr, *size, expected_oid);
                if (!*contents) {
Simple merge
diff --cc pack-bitmap.c
Simple merge
diff --cc pack-bitmap.h
Simple merge
diff --cc pack-revindex.c
index d3faab6a37de2dbdd039c022b9cc9eb95874a97b,038e0c96b1ca5efd4ede3b81138543657812fae1..f035a33a5a348df29c705c7ff0eb33cb9948f874
@@@ -380,19 -386,14 +386,20 @@@ int load_midx_revindex(struct multi_pac
                return 0;
        }
  
-       trace2_data_string("load_midx_revindex", the_repository,
+       trace2_data_string("load_midx_revindex", m->repo,
                           "source", "rev");
  
 -      get_midx_filename_ext(m->repo->hash_algo, &revindex_name, m->object_dir,
 -                            get_midx_checksum(m), MIDX_EXT_REV);
 +      if (m->has_chain)
 +              get_split_midx_filename_ext(m->repo->hash_algo, &revindex_name,
 +                                          m->object_dir, get_midx_checksum(m),
 +                                          MIDX_EXT_REV);
 +      else
 +              get_midx_filename_ext(m->repo->hash_algo, &revindex_name,
 +                                    m->object_dir, get_midx_checksum(m),
 +                                    MIDX_EXT_REV);
  
-       ret = load_revindex_from_disk(revindex_name.buf,
+       ret = load_revindex_from_disk(m->repo->hash_algo,
+                                     revindex_name.buf,
                                      m->num_objects,
                                      &m->revindex_map,
                                      &m->revindex_len);
diff --cc refs.c
Simple merge
diff --cc refs/debug.c
Simple merge
Simple merge
diff --cc sequencer.c
Simple merge