aboutsummaryrefslogtreecommitdiffstats
path: root/midx.c
AgeCommit message (Expand)AuthorFilesLines
2025-10-30packfile: always add packfiles to MRU when adding a packPatrick Steinhardt1-2/+0
2025-10-30packfile: move the MRU list into the packfile storePatrick Steinhardt1-1/+1
2025-09-24packfile: move `get_multi_pack_index()` into "midx.c"Patrick Steinhardt1-0/+6
2025-09-24packfile: introduce function to load and add packfilesPatrick Steinhardt1-19/+4
2025-09-24packfile: refactor `install_packed_git()` to work on packfile storePatrick Steinhardt1-1/+1
2025-09-24odb: move MRU list of packfiles into `struct packfile_store`Patrick Steinhardt1-1/+1
2025-09-24odb: move packfile map into `struct packfile_store`Patrick Steinhardt1-1/+1
2025-08-11midx: compute paths via their sourcePatrick Steinhardt1-29/+25
2025-08-11midx: stop duplicating info redundant with its owning sourcePatrick Steinhardt1-10/+11
2025-08-11midx: load multi-pack indices via their sourcePatrick Steinhardt1-32/+25
2025-08-11midx: drop redundant `struct repository` parameterPatrick Steinhardt1-9/+9
2025-08-11odb: store locality in object database sourcesPatrick Steinhardt1-2/+3
2025-07-15midx: remove now-unused linked list of multi-pack indicesPatrick Steinhardt1-16/+2
2025-07-15midx: stop using linked list when closing MIDXPatrick Steinhardt1-5/+8
2025-07-15midx: start tracking per object database sourcePatrick Steinhardt1-8/+11
2025-07-01object-store: rename `object_directory` to `odb_source`Patrick Steinhardt1-3/+3
2025-05-28midx: stop repeatedly looking up nonexistent packfilesPatrick Steinhardt1-2/+10
2025-04-15object-file: move `git_open_cloexec()` to "compat/open.c"Patrick Steinhardt1-1/+0
2025-03-10csum-file: stop depending on `the_repository`Patrick Steinhardt1-1/+2
2024-12-18progress: stop using `the_repository`Patrick Steinhardt1-4/+9
2024-12-18Merge branch 'ps/build-sign-compare' into ps/the-repositoryJunio C Hamano1-0/+2
2024-12-06global: mark code units that generate warnings with `-Wsign-compare`Patrick Steinhardt1-0/+1
2024-12-04midx: inline the `MIDX_MIN_SIZE` definitionKarthik Nayak1-5/+1
2024-12-04midx: pass down `hash_algo` to functions using global variablesKarthik Nayak1-11/+15
2024-12-04midx: pass `repository` to `load_multi_pack_index`Karthik Nayak1-5/+6
2024-12-04midx: cleanup internal usage of `the_repository` and `the_hash_algo`Karthik Nayak1-22/+27
2024-12-04midx: add repository to `multi_pack_index` structKarthik Nayak1-0/+1
2024-12-04packfile: add repository to struct `packed_git`Karthik Nayak1-1/+1
2024-10-25packfile: use object_id in find_pack_entry_one()Jeff King1-1/+1
2024-10-25midx: avoid duplicate packed_git entriesJeff King1-3/+17
2024-08-27pack-bitmap: tag bitmapped packs with their corresponding MIDXTaylor Blau1-0/+1
2024-08-13midx: drop unused parameters from add_midx_to_chain()Jeff King1-9/+5
2024-08-06midx: implement support for writing incremental MIDX chainsTaylor Blau1-11/+51
2024-08-06midx: implement verification support for incremental MIDXsTaylor Blau1-17/+30
2024-08-06midx: support reading incremental MIDX chainsTaylor Blau1-10/+174
2024-08-06midx: teach `midx_preferred_pack()` about incremental MIDXsTaylor Blau1-2/+5
2024-08-06midx: teach `midx_contains_pack()` about incremental MIDXsTaylor Blau1-1/+10
2024-08-06midx: remove unused `midx_locate_pack()`Taylor Blau1-11/+2
2024-08-06midx: teach `fill_midx_entry()` about incremental MIDXsTaylor Blau1-4/+2
2024-08-06midx: teach `nth_midxed_offset()` about incremental MIDXsTaylor Blau1-0/+2
2024-08-06midx: teach `bsearch_midx()` about incremental MIDXsTaylor Blau1-1/+4
2024-08-06midx: introduce `bsearch_one_midx()`Taylor Blau1-3/+14
2024-08-06midx: teach `nth_bitmapped_pack()` about incremental MIDXsTaylor Blau1-3/+5
2024-08-06midx: teach `nth_midxed_object_oid()` about incremental MIDXsTaylor Blau1-1/+3
2024-08-06midx: teach `prepare_midx_pack()` about incremental MIDXsTaylor Blau1-4/+22
2024-08-06midx: teach `nth_midxed_pack_int_id()` about incremental MIDXsTaylor Blau1-2/+21
2024-06-14global: introduce `USE_THE_REPOSITORY_VARIABLE` macroPatrick Steinhardt1-0/+2
2024-06-14hash: require hash algorithm in `oidread()` and `oidclr()`Patrick Steinhardt1-1/+2
2024-05-30midx: replace `get_midx_rev_filename()` with a generic helperTaylor Blau1-4/+6
2024-04-23Merge branch 'ps/missing-btmp-fix'Junio C Hamano1-3/+4
2024-04-15pack-bitmap: gracefully handle missing BTMP chunksPatrick Steinhardt1-3/+4
2024-04-01midx-write: move writing-related functions from midx.cTaylor Blau1-1539/+14
2024-03-25midx: use strvec_pushf() for pack-objects base nameRené Scharfe1-6/+1
2023-12-14midx: implement `midx_preferred_pack()`Taylor Blau1-0/+20
2023-12-14midx: implement `midx_locate_pack()`Taylor Blau1-2/+11
2023-12-14midx: implement `BTMP` chunkTaylor Blau1-3/+72
2023-12-14midx: factor out `fill_pack_info()`Taylor Blau1-18/+20
2023-12-14pack-objects: free packing_data in more placesTaylor Blau1-0/+5
2023-11-09midx: check consistency of fanout tableJeff King1-9/+11
2023-10-09midx: check size of revindex chunkJeff King1-1/+2
2023-10-09midx: bounds-check large offset chunkJeff King1-3/+5
2023-10-09midx: check size of object offset chunkJeff King1-1/+14
2023-10-09midx: enforce chunk alignment on readingJeff King1-1/+2
2023-10-09midx: check size of pack names chunkJeff King1-2/+9
2023-10-09midx: check size of oid lookup chunkJeff King1-3/+15
2023-10-09midx: stop ignoring malformed oid fanout chunkJeff King1-8/+8
2023-10-09chunk-format: note that pair_chunk() is unsafeJeff King1-5/+5
2023-07-25Merge branch 'tb/object-access-overflow-protection'Junio C Hamano1-18/+24
2023-07-14midx.c: prevent overflow in `fill_included_packs_batch()`Taylor Blau1-2/+2
2023-07-14midx.c: prevent overflow in `write_midx_internal()`Taylor Blau1-4/+5
2023-07-14midx.c: store `nr`, `alloc` variables as `size_t`'sTaylor Blau1-7/+9
2023-07-14midx.c: prevent overflow in `nth_midxed_offset()`Taylor Blau1-1/+2
2023-07-14midx.c: prevent overflow in `nth_midxed_object_oid()`Taylor Blau1-1/+1
2023-07-14midx.c: use `size_t`'s for fanout nr and allocTaylor Blau1-3/+5
2023-07-05git-compat-util: move alloc macros to git-compat-util.hCalvin Wan1-1/+0
2023-06-21object-store-ll.h: split this header out of object-store.hElijah Newren1-1/+1
2023-05-09Merge branch 'en/header-split-cache-h-part-2'Junio C Hamano1-1/+1
2023-04-25Merge branch 'ps/fix-geom-repack-with-alternates'Junio C Hamano1-3/+3
2023-04-24treewide: remove cache.h inclusion due to previous changesElijah Newren1-1/+1
2023-04-14midx: fix segfault with no packs and invalid preferred packPatrick Steinhardt1-3/+3
2023-04-11object-file.h: move declarations for object-file.c functions from cache.hElijah Newren1-0/+1
2023-03-21csum-file.h: remove unnecessary inclusion of cache.hElijah Newren1-1/+1
2023-03-21abspath.h: move absolute path functions from cache.hElijah Newren1-0/+1
2023-03-21treewide: be explicit about dependence on gettext.hElijah Newren1-0/+1
2023-03-17Merge branch 'jk/unused-post-2.39-part2'Junio C Hamano1-1/+1
2023-02-24for_each_object: mark unused callback parametersJeff King1-1/+1
2023-02-23cache.h: remove dependence on hex.h; make other files include it explicitlyElijah Newren1-0/+1
2023-02-23alloc.h: move ALLOC_GROW() functions from cache.hElijah Newren1-1/+2
2022-10-27Merge branch 'tb/midx-bitmap-selection-fix'Junio C Hamano1-1/+33
2022-10-13midx.c: instrument MIDX and bitmap generation with trace2 regionsTaylor Blau1-0/+28
2022-10-13midx.c: consider annotated tags during bitmap selectionTaylor Blau1-0/+4
2022-10-13midx.c: fix whitespace typoTaylor Blau1-1/+1
2022-09-21midx.c: avoid cruft packs with non-zero `repack --batch-size`Taylor Blau1-0/+2
2022-09-21midx.c: remove unnecessary loop conditionTaylor Blau1-1/+1
2022-09-21midx.c: replace `xcalloc()` with `CALLOC_ARRAY()`Taylor Blau1-1/+3
2022-09-21midx.c: avoid cruft packs with `repack --batch-size=0`Taylor Blau1-0/+2
2022-09-21midx.c: prevent `expire` from removing the cruft packTaylor Blau1-1/+1
2022-09-05Merge branch 'ac/bitmap-lookup-table'Junio C Hamano1-0/+3
2022-09-05Merge branch 'tb/midx-with-changing-preferred-pack-fix'Junio C Hamano1-46/+95
2022-08-26pack-bitmap-write: learn pack.writeBitmapLookupTable and add testsAbhradeep Chakraborty1-0/+3
2022-08-22midx.c: avoid adding preferred objects twiceTaylor Blau1-2/+13
2022-08-22midx.c: include preferred pack correctly with existing MIDXTaylor Blau1-7/+7
2022-08-22midx.c: extract `midx_fanout_add_pack_fanout()`Taylor Blau1-15/+28
2022-08-22midx.c: extract `midx_fanout_add_midx_fanout()`Taylor Blau1-19/+28
2022-08-22midx.c: extract `struct midx_fanout`Taylor Blau1-19/+35
2022-07-27write_midx_bitmap(): drop unused refs_snapshot parameterJeff King1-2/+1
2022-07-19midx: reduce memory pressure while writing bitmapsDerrick Stolee1-0/+13
2022-07-19midx: extract bitmap write setupDerrick Stolee1-24/+32
2022-06-07Merge branch 'ab/plug-leak-in-revisions'Junio C Hamano1-0/+1
2022-06-03Merge branch 'tb/cruft-packs'Junio C Hamano1-15/+3
2022-05-26chunk-format.h: extract oid_version()Taylor Blau1-15/+3
2022-05-04Merge branch 'ds/midx-normalize-pathname-before-comparison'Junio C Hamano1-4/+13
2022-04-25midx: use real paths in lookup_multi_pack_index()Derrick Stolee1-4/+13
2022-04-13revisions API users: add straightforward release_revisions()Ævar Arnfjörð Bjarmason1-0/+1
2022-03-10core.fsync: introduce granular fsync control infrastructureNeeraj Singh1-1/+2
2022-02-18Merge branch 'tb/midx-no-bitmap-for-no-objects'Junio C Hamano1-0/+9
2022-02-09midx: prevent writing a .bitmap without any objectsTaylor Blau1-0/+9
2022-01-27midx: read `RIDX` chunk when presentTaylor Blau1-1/+5
2022-01-27midx.c: make changing the preferred pack safeTaylor Blau1-3/+20
2021-11-29Merge branch 'tb/plug-pack-bitmap-leaks'Junio C Hamano1-28/+38
2021-10-28midx.c: write MIDX filenames to strbufTaylor Blau1-26/+33
2021-10-27midx.c: don't leak MIDX from verify_midx_fileTaylor Blau1-1/+3
2021-10-21midx.c: clean up chunkfile after reading the MIDXTaylor Blau1-1/+2
2021-10-18Merge branch 'tb/repack-write-midx'Junio C Hamano1-12/+98
2021-10-15midx.c: guard against commit_lock_file() failuresTaylor Blau1-1/+2
2021-10-15midx.c: lookup MIDX by object directory during repackTaylor Blau1-4/+1
2021-10-15midx.c: lookup MIDX by object directory during expireTaylor Blau1-4/+3
2021-10-15midx.c: extract MIDX lookup by object_dirTaylor Blau1-10/+17
2021-10-15Merge branch 'tb/repack-write-midx' into tb/fix-midx-rename-while-mappedJunio C Hamano1-12/+98
2021-10-11Merge branch 'tb/midx-write-propagate-namehash'Junio C Hamano1-1/+5
2021-09-28midx: preliminary support for `--refs-snapshot`Taylor Blau1-8/+53
2021-09-28midx: expose `write_midx_file_only()` publiclyTaylor Blau1-8/+49
2021-09-23Merge branch 'rs/packfile-bad-object-list-in-oidset'Junio C Hamano1-26/+11
2021-09-14midx.c: respect 'pack.writeBitmapHashcache' when writing bitmapsTaylor Blau1-1/+5
2021-09-12packfile: use oidset for bad objectsRené Scharfe1-7/+3
2021-09-12midx: inline nth_midxed_pack_entry()René Scharfe1-20/+9
2021-09-09pack-bitmap: drop repository argument from prepare_midx_bitmap_git()Jeff King1-1/+1
2021-09-01pack-bitmap: write multi-pack bitmapsTaylor Blau1-8/+201
2021-09-01pack-bitmap: read multi-pack bitmapsTaylor Blau1-2/+2
2021-09-01midx: avoid opening multiple MIDXs when writingTaylor Blau1-11/+18
2021-09-01midx: close linked MIDXs, avoid leaking memoryTaylor Blau1-0/+3
2021-09-01midx: infer preferred pack when not given oneTaylor Blau1-6/+44
2021-09-01midx: reject empty `--preferred-pack`'sTaylor Blau1-0/+29
2021-09-01midx: clear auxiliary .rev after replacing the MIDXTaylor Blau1-1/+2
2021-09-01midx: fix `*.rev` cleanups with `--object-dir`Taylor Blau1-5/+5
2021-07-28Merge branch 'ab/attribute-format'Junio C Hamano1-0/+1
2021-07-13*.c static functions: add missing __attribute__((format))Ævar Arnfjörð Bjarmason1-0/+1
2021-06-28midx: report checksum mismatches during 'verify'Taylor Blau1-0/+3
2021-06-28midx: don't reuse corrupt MIDXs when writingTaylor Blau1-0/+10
2021-04-27Always use oidread to read into struct object_idbrian m. carlson1-1/+1
2021-04-08Merge branch 'tb/reverse-midx'Junio C Hamano1-13/+206
2021-04-01midx.c: improve cache locality in midx_pack_order_cmp()Jeff King1-26/+29
2021-04-01pack-revindex: write multi-pack reverse indexesTaylor Blau1-0/+115
2021-04-01pack-revindex: read multi-pack reverse indexesTaylor Blau1-0/+11
2021-04-01midx: make some functions non-staticTaylor Blau1-2/+2
2021-04-01midx: keep track of the checksumTaylor Blau1-1/+2
2021-04-01midx: don't free midx_name earlyTaylor Blau1-1/+0
2021-04-01midx: allow marking a pack as preferredTaylor Blau1-9/+73
2021-03-13use CALLOC_ARRAYRené Scharfe1-4/+4
2021-03-01Merge branch 'ds/chunked-file-api'Junio C Hamano1-264/+169
2021-02-24Merge branch 'ds/chunked-file-api' into tb/reverse-midxJunio C Hamano1-264/+169
2021-02-18midx: use 64-bit multiplication for chunk sizesDerrick Stolee1-5/+6
2021-02-18midx: use chunk-format read APIDerrick Stolee1-47/+26
2021-02-18midx: use chunk-format API in write_midx_internal()Derrick Stolee1-86/+20
2021-02-18midx: drop chunk progress during writeDerrick Stolee1-7/+0
2021-02-18midx: return success/failure in chunk write methodsDerrick Stolee1-36/+27
2021-02-18midx: add num_large_offsets to write_midx_contextDerrick Stolee1-7/+10
2021-02-18midx: add pack_perm to write_midx_contextDerrick Stolee1-19/+21
2021-02-18midx: add entries to write_midx_contextDerrick Stolee1-23/+26
2021-02-18midx: use context in write_midx_pack_names()Derrick Stolee1-11/+10
2021-02-18midx: rename pack_info to write_midx_contextDerrick Stolee1-65/+65
2021-01-25Merge branch 'ma/more-opaque-lock-file'Junio C Hamano1-1/+1
2021-01-06midx: don't peek into `struct lock_file`Martin Ågren1-1/+1
2021-01-04hash-lookup: rename from sha1-lookupMartin Ågren1-1/+1
2020-12-08Merge branch 'tb/idx-midx-race-fix'Junio C Hamano1-1/+1
2020-11-25Merge branch 'rs/hashwrite-be64'Junio C Hamano1-5/+2
2020-11-25midx.c: protect against disappearing packsTaylor Blau1-1/+1
2020-11-12midx: use hashwrite_be64()René Scharfe1-5/+2
2020-10-27Merge branch 'ds/maintenance-part-2'Junio C Hamano1-13/+8
2020-09-25midx: use start_delayed_progress()Derrick Stolee1-5/+5
2020-09-25midx: enable core.multiPackIndex by defaultDerrick Stolee1-8/+3
2020-09-18Merge branch 'rs/misc-cleanups'Junio C Hamano1-7/+4
2020-09-09Merge branch 'tb/repack-clearing-midx'Junio C Hamano1-2/+6
2020-09-06midx: use hashwrite_u8() in write_midx_header()René Scharfe1-7/+4
2020-08-28midx: traverse the local MIDX firstTaylor Blau1-2/+6
2020-08-24Merge branch 'rs/more-buffered-io'Junio C Hamano1-3/+5
2020-08-24Merge branch 'jk/unleak-fixes'Junio C Hamano1-6/+2
2020-08-24Merge branch 'ds/midx-repack-to-batch-size'Junio C Hamano1-1/+1
2020-08-17multi-pack-index: use hash version byteDerrick Stolee1-6/+29
2020-08-17midx: use buffered I/O to talk to pack-objectsRené Scharfe1-3/+5
2020-08-13stop calling UNLEAK() before die()Jeff King1-6/+2
2020-08-11multi-pack-index: repack batches below --batch-sizeDerrick Stolee1-1/+1
2020-07-28strvec: convert remaining callers away from argv_array nameJeff King1-6/+6
2020-05-10multi-pack-index: respect repack.packKeptObjects=falseDerrick Stolee1-5/+21
2020-05-10midx: teach "git multi-pack-index repack" honor "git repack" configurationsSon Luong Ngoc1-0/+16
2020-05-01Merge branch 'ds/multi-pack-index'Junio C Hamano1-3/+1
2020-04-24multi-pack-index: close file descriptor after mmapDerrick Stolee1-3/+1
2020-03-28midx.c: fix an integer underflowDamien Robert1-0/+15
2020-02-24nth_packed_object_oid(): use customary integer returnJeff King1-1/+1
2019-10-23midx: honor the MIDX_PROGRESS flag in midx_repackWilliam Baker1-0/+6