<feed xmlns='http://www.w3.org/2005/Atom'>
<title>~runxiyu/furgit.git/objectstore/packed, branch v0.1.44</title>
<subtitle>Git library in pure Go</subtitle>
<id>https://cgit.space/~runxiyu/furgit.git/atom/objectstore/packed?h=v0.1.44</id>
<link rel='self' href='https://cgit.space/~runxiyu/furgit.git/atom/objectstore/packed?h=v0.1.44'/>
<link rel='alternate' type='text/html' href='https://cgit.space/~runxiyu/furgit.git/'/>
<updated>2026-03-04T06:21:30Z</updated>
<entry>
<title>*: Fix lints</title>
<updated>2026-03-04T06:21:30Z</updated>
<author>
<name>Runxi Yu</name>
</author>
<published>2026-03-04T06:21:30Z</published>
<link rel='alternate' type='text/html' href='https://cgit.space/~runxiyu/furgit.git/commit/?id=78a035210ad34488d6feca45c3ce00825ee1d2c5'/>
<id>urn:sha1:78a035210ad34488d6feca45c3ce00825ee1d2c5</id>
<content type='text'>
</content>
</entry>
<entry>
<title>objectstore/packed: Make more tests iterate algorithms</title>
<updated>2026-03-04T06:12:34Z</updated>
<author>
<name>Runxi Yu</name>
</author>
<published>2026-03-04T06:12:34Z</published>
<link rel='alternate' type='text/html' href='https://cgit.space/~runxiyu/furgit.git/commit/?id=6804ac401d8e33d91fb6ffa4bc88faaa034c0279'/>
<id>urn:sha1:6804ac401d8e33d91fb6ffa4bc88faaa034c0279</id>
<content type='text'>
</content>
</entry>
<entry>
<title>objectstore/packed: Split</title>
<updated>2026-03-04T04:53:05Z</updated>
<author>
<name>Runxi Yu</name>
</author>
<published>2026-03-04T04:53:05Z</published>
<link rel='alternate' type='text/html' href='https://cgit.space/~runxiyu/furgit.git/commit/?id=4668c6c07b32a3c185fdd7bfc585fb978f535a4a'/>
<id>urn:sha1:4668c6c07b32a3c185fdd7bfc585fb978f535a4a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>objectstore/packed: Split</title>
<updated>2026-03-04T01:55:44Z</updated>
<author>
<name>Runxi Yu</name>
</author>
<published>2026-03-04T01:55:44Z</published>
<link rel='alternate' type='text/html' href='https://cgit.space/~runxiyu/furgit.git/commit/?id=f31ad11ed0665bfaed90c67890a5fa951301d3f3'/>
<id>urn:sha1:f31ad11ed0665bfaed90c67890a5fa951301d3f3</id>
<content type='text'>
</content>
</entry>
<entry>
<title>*: Lint</title>
<updated>2026-03-04T00:59:53Z</updated>
<author>
<name>Runxi Yu</name>
</author>
<published>2026-03-04T00:26:56Z</published>
<link rel='alternate' type='text/html' href='https://cgit.space/~runxiyu/furgit.git/commit/?id=ab7501be34032fb9e5c48726a68ae90a917af9eb'/>
<id>urn:sha1:ab7501be34032fb9e5c48726a68ae90a917af9eb</id>
<content type='text'>
</content>
</entry>
<entry>
<title>objectstore/packed: Check pack/idx checksums here.</title>
<updated>2026-03-03T10:31:11Z</updated>
<author>
<name>Runxi Yu</name>
</author>
<published>2026-03-03T10:26:57Z</published>
<link rel='alternate' type='text/html' href='https://cgit.space/~runxiyu/furgit.git/commit/?id=bd9519b464f919f2ca174a45c3c19c9a8a1fe3d1'/>
<id>urn:sha1:bd9519b464f919f2ca174a45c3c19c9a8a1fe3d1</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>internal/lru: Rename from internal/cache/lru</title>
<updated>2026-02-22T04:30:20Z</updated>
<author>
<name>Runxi Yu</name>
</author>
<published>2026-02-22T04:30:20Z</published>
<link rel='alternate' type='text/html' href='https://cgit.space/~runxiyu/furgit.git/commit/?id=2a7a1e8c95025da4fbd6c398a5e51672fb1a8bd2'/>
<id>urn:sha1:2a7a1e8c95025da4fbd6c398a5e51672fb1a8bd2</id>
<content type='text'>
</content>
</entry>
<entry>
<title>format/delta/apply, etc.: ReadHeaderSizes should use ByteReader</title>
<updated>2026-02-22T02:28:29Z</updated>
<author>
<name>Runxi Yu</name>
</author>
<published>2026-02-22T02:28:29Z</published>
<link rel='alternate' type='text/html' href='https://cgit.space/~runxiyu/furgit.git/commit/?id=918a17362c8a07221a65d4d60af0667ee7f0dd61'/>
<id>urn:sha1:918a17362c8a07221a65d4d60af0667ee7f0dd61</id>
<content type='text'>
</content>
</entry>
<entry>
<title>objectstore/packed: Pre-allocate instead of ReadAll</title>
<updated>2026-02-22T01:59:27Z</updated>
<author>
<name>Runxi Yu</name>
</author>
<published>2026-02-22T01:59:27Z</published>
<link rel='alternate' type='text/html' href='https://cgit.space/~runxiyu/furgit.git/commit/?id=6e28d6a7ec210349b8c336249ba130422310fecb'/>
<id>urn:sha1:6e28d6a7ec210349b8c336249ba130422310fecb</id>
<content type='text'>
</content>
</entry>
<entry>
<title>objectstore/*, repository: Add ReadSize</title>
<updated>2026-02-21T14:55:15Z</updated>
<author>
<name>Runxi Yu</name>
</author>
<published>2026-02-21T14:55:15Z</published>
<link rel='alternate' type='text/html' href='https://cgit.space/~runxiyu/furgit.git/commit/?id=777db8470909b16411cb54a6c0bbf927be778952'/>
<id>urn:sha1:777db8470909b16411cb54a6c0bbf927be778952</id>
<content type='text'>
For cases where knowing the type is unnecessary and incurs extra
overhead.
</content>
</entry>
</feed>
