aboutsummaryrefslogtreecommitdiff
path: root/objectstore/packed
Commit message (Expand)AuthorAgeFilesLines
* objectstore/packed: Split filesGravatar Runxi Yu2026-03-0623-369/+416
* internal/compress: Import flate and such from klauspost/compressGravatar Runxi Yu2026-03-051-1/+1
* *: Fix lints v0.1.43Gravatar Runxi Yu2026-03-041-0/+1
* objectstore/packed: Make more tests iterate algorithmsGravatar Runxi Yu2026-03-041-10/+12
* objectstore/packed: SplitGravatar Runxi Yu2026-03-044-157/+164
* objectstore/packed: SplitGravatar Runxi Yu2026-03-043-142/+151
* *: LintGravatar Runxi Yu2026-03-0418-33/+287
* objectstore/packed: Check pack/idx checksums here.•••We previously had helpers in format/pack/checksum that checks .pack/.idx-related checksums with []byte-based APIs. But it only really makes sense to use those []byte-based APIs on mmap's (otherwise it'd be horribly inefficient). Since the packed object-store only needs to check that the .pack and .idx trailer match, we move the relevant part into objectstore/packed. The rest are deleted for now; we'll definitely need a streaming version for the pack verification (when ingesting packfiles from the network) (though we might just make it a streaming API (writer? reader? not decided yet) that *produces* a hash, then verify it in the caller; this way we could reuse the function in the pack-producing routines). The others might get the []byte-based APIs back, or perhaps they too get streaming APIs. Remember that "reading objects from a packed object store", "creating/writing packfiles", and "ingesting an incoming pack (which usually involves creating an .idx for it)", are all very different tasks. Gravatar Runxi Yu2026-03-032-2/+31
* internal/lru: Rename from internal/cache/lruGravatar Runxi Yu2026-02-221-1/+1
* format/delta/apply, etc.: ReadHeaderSizes should use ByteReaderGravatar Runxi Yu2026-02-221-1/+3
* objectstore/packed: Pre-allocate instead of ReadAllGravatar Runxi Yu2026-02-221-10/+17
* objectstore/*, repository: Add ReadSize•••For cases where knowing the type is unnecessary and incurs extra overhead. v0.1.28Gravatar Runxi Yu2026-02-212-0/+56
* objectstore/packed: Don't use full delta reconstruction just to read headersGravatar Runxi Yu2026-02-215-24/+84
* objectstore/packed: Improve delta base cachingGravatar Runxi Yu2026-02-214-80/+108
* objectstore/packed: Best-effort touchCandidateGravatar Runxi Yu2026-02-211-1/+4
* objectstore/packed: Optimize pack candidate lookup and lockingGravatar Runxi Yu2026-02-213-40/+116
* objectstore/packed: Separate idx candidate lookup vs actually opening itGravatar Runxi Yu2026-02-212-110/+116
* objectstore/packed: Lazily parse idx metadataGravatar Runxi Yu2026-02-212-69/+144
* objectstore/packed: Verify that the index matches the packGravatar Runxi Yu2026-02-211-0/+33
* objectstore/packed: Use constants/functions from format/packGravatar Runxi Yu2026-02-215-85/+23
* format/delta/apply: Move core delta apply algorithm hereGravatar Runxi Yu2026-02-212-169/+4
* objectstore/{packed,loose}: Use internal zlib v0.1.26Gravatar Runxi Yu2026-02-211-1/+2
* objectstore/packed: Use SplitSeqGravatar Runxi Yu2026-02-211-1/+1
* objectstore/{loose,packed}: Use iolimit v0.1.23Gravatar Runxi Yu2026-02-211-2/+3
* objectstore/packed: Fix ReadHeader to return resolved delta object size v0.1.21Gravatar Runxi Yu2026-02-211-2/+70
* objectstore/packed: Add test for mismatched verify-pick -v sizeGravatar Runxi Yu2026-02-211-0/+78
* repository, {ref,object}store: Make stores own their rootsGravatar Runxi Yu2026-02-211-6/+7
* *: Modernize and lint; add CI v0.1.17Gravatar Runxi Yu2026-02-216-10/+34
* *: Update doc-comments v0.1.13Gravatar Runxi Yu2026-02-211-1/+1
* *: Use testgit.NewRepoGravatar Runxi Yu2026-02-212-2/+2
* objectstore/packed: Add initial pack reading supportGravatar Runxi Yu2026-02-2116-0/+1427