<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/libgit2.git/src/libgit2/midx.c, branch ethomson/objectformat</title>
<subtitle>github.com: libgit2/libgit2.git
</subtitle>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/'/>
<entry>
<title>sha256: indirection for experimental functions</title>
<updated>2022-07-14T02:50:33+00:00</updated>
<author>
<name>Edward Thomson</name>
<email>ethomson@edwardthomson.com</email>
</author>
<published>2022-07-14T02:25:11+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=b43567d655b6fbc562a165095a6980d19c4ae278'/>
<id>b43567d655b6fbc562a165095a6980d19c4ae278</id>
<content type='text'>
The experimental function signature is only available when
`GIT_EXPERIMENTAL_SHA256` is enabled.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The experimental function signature is only available when
`GIT_EXPERIMENTAL_SHA256` is enabled.
</pre>
</div>
</content>
</entry>
<entry>
<title>oid: give oids a type</title>
<updated>2022-06-20T21:05:29+00:00</updated>
<author>
<name>Edward Thomson</name>
<email>ethomson@edwardthomson.com</email>
</author>
<published>2022-01-23T14:47:01+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=3fbf580c91935ccdea25a135204419991f503b63'/>
<id>3fbf580c91935ccdea25a135204419991f503b63</id>
<content type='text'>
`git_oid`s now have a type, and we require the oid type when creating
the object id from creation functions.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
`git_oid`s now have a type, and we require the oid type when creating
the object id from creation functions.
</pre>
</div>
</content>
</entry>
<entry>
<title>oid: `GIT_OID_*SZ` is now `GIT_OID_SHA1_*SIZE`</title>
<updated>2022-06-15T02:29:57+00:00</updated>
<author>
<name>Edward Thomson</name>
<email>ethomson@edwardthomson.com</email>
</author>
<published>2022-01-23T04:10:03+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=dbc4ac1c76827e954e0aa27afe8bb7e0b8993a93'/>
<id>dbc4ac1c76827e954e0aa27afe8bb7e0b8993a93</id>
<content type='text'>
In preparation for SHA256 support, `GIT_OID_RAWSZ` and `GIT_OID_HEXSZ`
need to indicate that they're the size of _SHA1_ OIDs.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In preparation for SHA256 support, `GIT_OID_RAWSZ` and `GIT_OID_HEXSZ`
need to indicate that they're the size of _SHA1_ OIDs.
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge pull request #6291 from libgit2/cmn/midx-no-hash</title>
<updated>2022-06-11T20:26:50+00:00</updated>
<author>
<name>Edward Thomson</name>
<email>ethomson@edwardthomson.com</email>
</author>
<published>2022-06-11T20:26:50+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=4f7b568db29456cb4cb1fc635827978ec0e404bb'/>
<id>4f7b568db29456cb4cb1fc635827978ec0e404bb</id>
<content type='text'>
midx: do not verify the checksum on load</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
midx: do not verify the checksum on load</pre>
</div>
</content>
</entry>
<entry>
<title>Replace bitwise AND 0x7fffffff with XOR 0x80000000.</title>
<updated>2022-05-20T19:15:27+00:00</updated>
<author>
<name>Colin Stolley</name>
<email>ccstolley@github.com</email>
</author>
<published>2022-05-20T14:06:50+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=97954ee546dc998d4424e40f360b4799afa60a1e'/>
<id>97954ee546dc998d4424e40f360b4799afa60a1e</id>
<content type='text'>
Though both are correct, this makes it clear that we're dealing with
the same value.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Though both are correct, this makes it clear that we're dealing with
the same value.
</pre>
</div>
</content>
</entry>
<entry>
<title>midx: fix large object offset table check.</title>
<updated>2022-05-20T19:00:18+00:00</updated>
<author>
<name>Colin Stolley</name>
<email>ccstolley@github.com</email>
</author>
<published>2022-05-19T21:33:57+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=8a765c72a850641b35c6ee7800524664920b7496'/>
<id>8a765c72a850641b35c6ee7800524664920b7496</id>
<content type='text'>
It's insufficient to only check if the offset high order bit is set, we
must also check to see if object_large_offsets are in use.

This bug is causing objects to appear missing because they can't be
found in the index.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It's insufficient to only check if the offset high order bit is set, we
must also check to see if object_large_offsets are in use.

This bug is causing objects to appear missing because they can't be
found in the index.
</pre>
</div>
</content>
</entry>
<entry>
<title>midx: do not verify the checksum on load</title>
<updated>2022-05-03T12:09:40+00:00</updated>
<author>
<name>Carlos Martín Nieto</name>
<email>carlosmn@github.com</email>
</author>
<published>2022-05-03T12:09:40+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=a3f9617bcf8154cee6ffbf873580788791135a03'/>
<id>a3f9617bcf8154cee6ffbf873580788791135a03</id>
<content type='text'>
This is something we only want to do during explicit verification rather than on
every load.

Verifying does not seem like a big deal when we're running with test workloads
but once your `multi-pack-index` reaches gigabytes, we spend more time hashing
this than doing any work.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is something we only want to do during explicit verification rather than on
every load.

Verifying does not seem like a big deal when we're running with test workloads
but once your `multi-pack-index` reaches gigabytes, we spend more time hashing
this than doing any work.
</pre>
</div>
</content>
</entry>
<entry>
<title>midx: use raw oid data</title>
<updated>2022-04-10T19:56:57+00:00</updated>
<author>
<name>Edward Thomson</name>
<email>ethomson@edwardthomson.com</email>
</author>
<published>2022-01-22T14:03:34+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=71049b4a479ed20bb2d1d6144d87dce932eefc59'/>
<id>71049b4a479ed20bb2d1d6144d87dce932eefc59</id>
<content type='text'>
A multi-pack index uses raw oid data, use a byte array to index
into them.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
A multi-pack index uses raw oid data, use a byte array to index
into them.
</pre>
</div>
</content>
</entry>
<entry>
<title>[midx] Fix an undefined behavior (left-shift signed overflow)</title>
<updated>2022-04-05T20:19:26+00:00</updated>
<author>
<name>lhchavez</name>
<email>lhchavez@lhchavez.com</email>
</author>
<published>2022-04-05T20:10:33+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=33b1d3fd62c3702ff6cc85c95dc01f372253851e'/>
<id>33b1d3fd62c3702ff6cc85c95dc01f372253851e</id>
<content type='text'>
There was a missing check to ensure that the `off64_t` (which is a
signed value) didn't overflow when parsing it from the midx file. This
shouldn't have huge repercusions since the parsed value is immediately
validated afterwards, but then again, there is no such thing as "benign"
undefined behavior.

This change makes all the bitwise arithmetic happen with unsigned types
and is only casted to `off64_t` until the very end.

Thanks to Taotao Gu for finding and reporting this!
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
There was a missing check to ensure that the `off64_t` (which is a
signed value) didn't overflow when parsing it from the midx file. This
shouldn't have huge repercusions since the parsed value is immediately
validated afterwards, but then again, there is no such thing as "benign"
undefined behavior.

This change makes all the bitwise arithmetic happen with unsigned types
and is only casted to `off64_t` until the very end.

Thanks to Taotao Gu for finding and reporting this!
</pre>
</div>
</content>
</entry>
<entry>
<title>refactor: `src` is now `src/libgit2`</title>
<updated>2022-02-23T03:07:44+00:00</updated>
<author>
<name>Edward Thomson</name>
<email>ethomson@edwardthomson.com</email>
</author>
<published>2021-11-14T13:47:40+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=ef4ab2988320005cbcb3db920e6b41f10b3c60cf'/>
<id>ef4ab2988320005cbcb3db920e6b41f10b3c60cf</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
