<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/odb/source-inmemory.c, branch seen</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://git.shady.money/git/atom?h=seen</id>
<link rel='self' href='https://git.shady.money/git/atom?h=seen'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/'/>
<updated>2026-04-10T15:00:06Z</updated>
<entry>
<title>odb/source-inmemory: stub out remaining functions</title>
<updated>2026-04-10T15:00:06Z</updated>
<author>
<name>Patrick Steinhardt</name>
<email>ps@pks.im</email>
</author>
<published>2026-04-10T12:12:45Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=dcd7f1c97f856f891da489dd305e0712ac40fa36'/>
<id>urn:sha1:dcd7f1c97f856f891da489dd305e0712ac40fa36</id>
<content type='text'>
Stub out remaining functions that we either don't need or that are
basically no-ops.

Signed-off-by: Patrick Steinhardt &lt;ps@pks.im&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>odb/source-inmemory: implement `freshen_object()` callback</title>
<updated>2026-04-10T15:00:06Z</updated>
<author>
<name>Patrick Steinhardt</name>
<email>ps@pks.im</email>
</author>
<published>2026-04-10T12:12:44Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=770c0329787c1539f907f582ac8353f645b6af85'/>
<id>urn:sha1:770c0329787c1539f907f582ac8353f645b6af85</id>
<content type='text'>
Implement the `freshen_object()` callback function for the in-memory
source.

Signed-off-by: Patrick Steinhardt &lt;ps@pks.im&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>odb/source-inmemory: implement `count_objects()` callback</title>
<updated>2026-04-10T15:00:06Z</updated>
<author>
<name>Patrick Steinhardt</name>
<email>ps@pks.im</email>
</author>
<published>2026-04-10T12:12:43Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=aaa0a8585d55421c5ba13368cb51f938ab89b325'/>
<id>urn:sha1:aaa0a8585d55421c5ba13368cb51f938ab89b325</id>
<content type='text'>
Implement the `count_objects()` callback function for the in-memory
source.

Signed-off-by: Patrick Steinhardt &lt;ps@pks.im&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>odb/source-inmemory: implement `find_abbrev_len()` callback</title>
<updated>2026-04-10T15:00:06Z</updated>
<author>
<name>Patrick Steinhardt</name>
<email>ps@pks.im</email>
</author>
<published>2026-04-10T12:12:42Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=bb59813e252fac1a78c9d178ba004772124198b1'/>
<id>urn:sha1:bb59813e252fac1a78c9d178ba004772124198b1</id>
<content type='text'>
Implement the `find_abbrev_len()` callback function for the in-memory
source.

Signed-off-by: Patrick Steinhardt &lt;ps@pks.im&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>odb/source-inmemory: implement `for_each_object()` callback</title>
<updated>2026-04-10T15:00:06Z</updated>
<author>
<name>Patrick Steinhardt</name>
<email>ps@pks.im</email>
</author>
<published>2026-04-10T12:12:41Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=b0419fb07662f85ffb8ecd8515c358dc6a2f9dcb'/>
<id>urn:sha1:b0419fb07662f85ffb8ecd8515c358dc6a2f9dcb</id>
<content type='text'>
Implement the `for_each_object()` callback function for the in-memory
source.

Signed-off-by: Patrick Steinhardt &lt;ps@pks.im&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>odb/source-inmemory: convert to use oidtree</title>
<updated>2026-04-10T15:00:06Z</updated>
<author>
<name>Patrick Steinhardt</name>
<email>ps@pks.im</email>
</author>
<published>2026-04-10T12:12:40Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=3611f693146e215d9bcbfaba6359fb35009eb45e'/>
<id>urn:sha1:3611f693146e215d9bcbfaba6359fb35009eb45e</id>
<content type='text'>
The in-memory source stores its objects in a simple array that we grow as
needed. This has a couple of downsides:

  - The object lookup is O(n). This doesn't matter in practice because
    we only store a small number of objects.

  - We don't have an easy way to iterate over all objects in
    lexicographic order.

  - We don't have an easy way to compute unique object ID prefixes.

Refactor the code to use an oidtree instead. This is the same data
structure used by our loose object source, and thus it means we get a
bunch of functionality for free.

Signed-off-by: Patrick Steinhardt &lt;ps@pks.im&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>odb/source-inmemory: implement `write_object_stream()` callback</title>
<updated>2026-04-10T15:00:05Z</updated>
<author>
<name>Patrick Steinhardt</name>
<email>ps@pks.im</email>
</author>
<published>2026-04-10T12:12:37Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=ab12a57fcec732687ee3cbc796614cfc5376659c'/>
<id>urn:sha1:ab12a57fcec732687ee3cbc796614cfc5376659c</id>
<content type='text'>
Implement the `write_object_stream()` callback function for the in-memory
source.

Signed-off-by: Patrick Steinhardt &lt;ps@pks.im&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>odb/source-inmemory: implement `write_object()` callback</title>
<updated>2026-04-10T15:00:05Z</updated>
<author>
<name>Patrick Steinhardt</name>
<email>ps@pks.im</email>
</author>
<published>2026-04-10T12:12:36Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=3541e25ce8a838067c0358fef09c30e0ff93609a'/>
<id>urn:sha1:3541e25ce8a838067c0358fef09c30e0ff93609a</id>
<content type='text'>
Implement the `write_object()` callback function for the in-memory
source.

Signed-off-by: Patrick Steinhardt &lt;ps@pks.im&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>odb/source-inmemory: implement `read_object_stream()` callback</title>
<updated>2026-04-10T15:00:05Z</updated>
<author>
<name>Patrick Steinhardt</name>
<email>ps@pks.im</email>
</author>
<published>2026-04-10T12:12:35Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=70a84fb6a8377bc22aea68dcb4eee539c8033adb'/>
<id>urn:sha1:70a84fb6a8377bc22aea68dcb4eee539c8033adb</id>
<content type='text'>
Implement the `read_object_stream()` callback function for the in-memory
source.

Signed-off-by: Patrick Steinhardt &lt;ps@pks.im&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>odb/source-inmemory: implement `read_object_info()` callback</title>
<updated>2026-04-10T15:00:04Z</updated>
<author>
<name>Patrick Steinhardt</name>
<email>ps@pks.im</email>
</author>
<published>2026-04-10T12:12:34Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=72e71dbf282e56b86698c9dbd5fdb5efa7b04696'/>
<id>urn:sha1:72e71dbf282e56b86698c9dbd5fdb5efa7b04696</id>
<content type='text'>
Implement the `read_object_info()` callback function for the in-memory
source.

Signed-off-by: Patrick Steinhardt &lt;ps@pks.im&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
</feed>
