<feed xmlns='http://www.w3.org/2005/Atom'>
<title>~runxiyu/furgit.git/objectstore/packed/store.go, branch v0.1.43</title>
<subtitle>Git library in pure Go</subtitle>
<id>https://cgit.space/~runxiyu/furgit.git/atom/objectstore/packed/store.go?h=v0.1.43</id>
<link rel='self' href='https://cgit.space/~runxiyu/furgit.git/atom/objectstore/packed/store.go?h=v0.1.43'/>
<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: 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>objectstore/packed: Optimize pack candidate lookup and locking</title>
<updated>2026-02-21T11:51:40Z</updated>
<author>
<name>Runxi Yu</name>
</author>
<published>2026-02-21T11:51:40Z</published>
<link rel='alternate' type='text/html' href='https://cgit.space/~runxiyu/furgit.git/commit/?id=8600b32050fa21d63baf4b21e75f8fc71fcfc610'/>
<id>urn:sha1:8600b32050fa21d63baf4b21e75f8fc71fcfc610</id>
<content type='text'>
</content>
</entry>
<entry>
<title>objectstore/packed: Lazily parse idx metadata</title>
<updated>2026-02-21T11:42:08Z</updated>
<author>
<name>Runxi Yu</name>
</author>
<published>2026-02-21T11:42:08Z</published>
<link rel='alternate' type='text/html' href='https://cgit.space/~runxiyu/furgit.git/commit/?id=5eda091d68a427e9f23e120bad1767f796ae58b6'/>
<id>urn:sha1:5eda091d68a427e9f23e120bad1767f796ae58b6</id>
<content type='text'>
</content>
</entry>
<entry>
<title>objectstore/packed: Verify that the index matches the pack</title>
<updated>2026-02-21T11:28:39Z</updated>
<author>
<name>Runxi Yu</name>
</author>
<published>2026-02-21T11:28:39Z</published>
<link rel='alternate' type='text/html' href='https://cgit.space/~runxiyu/furgit.git/commit/?id=cc1af64ae2908cdbc4c65a54950ec6dfc6293455'/>
<id>urn:sha1:cc1af64ae2908cdbc4c65a54950ec6dfc6293455</id>
<content type='text'>
</content>
</entry>
<entry>
<title>repository, {ref,object}store: Make stores own their roots</title>
<updated>2026-02-21T07:29:40Z</updated>
<author>
<name>Runxi Yu</name>
</author>
<published>2026-02-21T07:29:40Z</published>
<link rel='alternate' type='text/html' href='https://cgit.space/~runxiyu/furgit.git/commit/?id=673902b14458f32fbf47efa3757279872bdfcb7e'/>
<id>urn:sha1:673902b14458f32fbf47efa3757279872bdfcb7e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>*: Update doc-comments</title>
<updated>2026-02-21T05:05:11Z</updated>
<author>
<name>Runxi Yu</name>
</author>
<published>2026-02-21T05:05:11Z</published>
<link rel='alternate' type='text/html' href='https://cgit.space/~runxiyu/furgit.git/commit/?id=86a9cc87c9d3c42035b6c526ec918c391024424d'/>
<id>urn:sha1:86a9cc87c9d3c42035b6c526ec918c391024424d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>objectstore/packed: Add initial pack reading support</title>
<updated>2026-02-21T03:15:18Z</updated>
<author>
<name>Runxi Yu</name>
</author>
<published>2026-02-20T21:35:12Z</published>
<link rel='alternate' type='text/html' href='https://cgit.space/~runxiyu/furgit.git/commit/?id=ae879b8cf5a87199802a33d6b15c76afafa8002b'/>
<id>urn:sha1:ae879b8cf5a87199802a33d6b15c76afafa8002b</id>
<content type='text'>
</content>
</entry>
</feed>
