<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/libgit2.git/src/odb.c, branch cmn/peeling-errors</title>
<subtitle>github.com: libgit2/libgit2.git
</subtitle>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/libgit2.git/'/>
<entry>
<title>odb: hardcode the empty blob and tree</title>
<updated>2014-11-08T19:53:38+00:00</updated>
<author>
<name>Carlos Martín Nieto</name>
<email>cmn@dwim.me</email>
</author>
<published>2014-11-08T13:40:53+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/libgit2.git/commit/?id=e1ac0101480c29631ad56409d77f2dd7b65bfd09'/>
<id>e1ac0101480c29631ad56409d77f2dd7b65bfd09</id>
<content type='text'>
git hardocodes these as objects which exist regardless of whether they
are in the odb and uses them in the shell interface as a way of
expressing the lack of a blob or tree for one side of e.g. a diff.

In the library we use each language's natural way of declaring a lack of
value which makes a workaround like this unnecessary. Since git uses it,
it does however mean each shell application would need to perform this
check themselves.

This makes it common work across a range of applications and an issue
with compatibility with git, which fits right into what the library aims
to provide.

Thus we introduce the hard-coded empty blob and tree in the odb
frontend. These hard-coded objects are checked for before going to the
backends, but after the cache check, which means the second time they're
used, they will be treated as normal cached objects instead of creating
new ones.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
git hardocodes these as objects which exist regardless of whether they
are in the odb and uses them in the shell interface as a way of
expressing the lack of a blob or tree for one side of e.g. a diff.

In the library we use each language's natural way of declaring a lack of
value which makes a workaround like this unnecessary. Since git uses it,
it does however mean each shell application would need to perform this
check themselves.

This makes it common work across a range of applications and an issue
with compatibility with git, which fits right into what the library aims
to provide.

Thus we introduce the hard-coded empty blob and tree in the odb
frontend. These hard-coded objects are checked for before going to the
backends, but after the cache check, which means the second time they're
used, they will be treated as normal cached objects instead of creating
new ones.
</pre>
</div>
</content>
</entry>
<entry>
<title>odb: clear backend errors on successful read</title>
<updated>2014-05-23T04:01:57+00:00</updated>
<author>
<name>Carlos Martín Nieto</name>
<email>cmn@dwim.me</email>
</author>
<published>2014-05-23T03:53:41+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/libgit2.git/commit/?id=530594c0aa04df31e3cef331f6dad8083f66f15d'/>
<id>530594c0aa04df31e3cef331f6dad8083f66f15d</id>
<content type='text'>
We go through the different backends in order, so it's not an error if
at least one of the backends has the data we want.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We go through the different backends in order, so it's not an error if
at least one of the backends has the data we want.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix remaining init_options inconsistencies</title>
<updated>2014-05-02T16:21:33+00:00</updated>
<author>
<name>Russell Belfer</name>
<email>rb@github.com</email>
</author>
<published>2014-04-30T18:16:31+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/libgit2.git/commit/?id=bc91347b5894c98964a12c6637d5ca91d9723b42'/>
<id>bc91347b5894c98964a12c6637d5ca91d9723b42</id>
<content type='text'>
There were a couple of "init_opts()" functions a few more cases
of structure initialization that I somehow missed.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
There were a couple of "init_opts()" functions a few more cases
of structure initialization that I somehow missed.
</pre>
</div>
</content>
</entry>
<entry>
<title>Don't redefine the same callback types, their signatures may change</title>
<updated>2014-04-21T09:28:49+00:00</updated>
<author>
<name>Jacques Germishuys</name>
<email>jacquesg@striata.com</email>
</author>
<published>2014-04-21T09:23:29+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/libgit2.git/commit/?id=48e60ae75e78bc58aeb3c7ecf6be4653152182f4'/>
<id>48e60ae75e78bc58aeb3c7ecf6be4653152182f4</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge pull request #2178 from libgit2/rb/fix-short-id</title>
<updated>2014-04-01T06:23:32+00:00</updated>
<author>
<name>Edward Thomson</name>
<email>ethomson@edwardthomson.com</email>
</author>
<published>2014-04-01T06:23:32+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/libgit2.git/commit/?id=3ab57816015f59e9741017f866d3d87a4651b54f'/>
<id>3ab57816015f59e9741017f866d3d87a4651b54f</id>
<content type='text'>
Fix git_odb_short_id and git_odb_exists_prefix bugs</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fix git_odb_short_id and git_odb_exists_prefix bugs</pre>
</div>
</content>
</entry>
<entry>
<title>Fix wrong assertion</title>
<updated>2014-03-21T09:36:34+00:00</updated>
<author>
<name>Linquize</name>
<email>linquize@yahoo.com.hk</email>
</author>
<published>2014-03-21T09:36:34+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/libgit2.git/commit/?id=31a14982a099461a9d8a44ea773b1fef69a781a6'/>
<id>31a14982a099461a9d8a44ea773b1fef69a781a6</id>
<content type='text'>
Fixes issue #2196
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixes issue #2196
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix a number of git_odb_exists_prefix bugs</title>
<updated>2014-03-10T18:34:50+00:00</updated>
<author>
<name>Russell Belfer</name>
<email>rb@github.com</email>
</author>
<published>2014-03-10T17:53:39+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/libgit2.git/commit/?id=894990788771bef6ca20398e46b217817b8e0db8'/>
<id>894990788771bef6ca20398e46b217817b8e0db8</id>
<content type='text'>
The git_odb_exists_prefix API was not dealing correctly when a
later backend returned GIT_ENOTFOUND even if an earlier backend
had found the object.

Additionally, the unit tests were not properly exercising the API
and had a couple mistakes in checking the results.

Lastly, since the backends are not expected to behavior correctly
unless all bytes of the short id are zero except for the prefix,
this makes the ODB prefix APIs explicitly clear out the extra
bytes so the user doesn't have to be as careful.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The git_odb_exists_prefix API was not dealing correctly when a
later backend returned GIT_ENOTFOUND even if an earlier backend
had found the object.

Additionally, the unit tests were not properly exercising the API
and had a couple mistakes in checking the results.

Lastly, since the backends are not expected to behavior correctly
unless all bytes of the short id are zero except for the prefix,
this makes the ODB prefix APIs explicitly clear out the extra
bytes so the user doesn't have to be as careful.
</pre>
</div>
</content>
</entry>
<entry>
<title>Added function-based initializers for every options struct.</title>
<updated>2014-03-06T02:49:23+00:00</updated>
<author>
<name>Matthew Bowen</name>
<email>matthew@mgbowen.com</email>
</author>
<published>2014-03-06T02:49:23+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/libgit2.git/commit/?id=b9f819978c571cc806827e8b3ebc1a58a0755999'/>
<id>b9f819978c571cc806827e8b3ebc1a58a0755999</id>
<content type='text'>
The basic structure of each function is courtesy of arrbee.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The basic structure of each function is courtesy of arrbee.
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge pull request #2159 from libgit2/rb/odb-exists-prefix</title>
<updated>2014-03-05T23:47:05+00:00</updated>
<author>
<name>Vicent Marti</name>
<email>vicent@github.com</email>
</author>
<published>2014-03-05T23:47:05+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/libgit2.git/commit/?id=a064dc2d0b6206116a35be4b62c58c3c1170d5de'/>
<id>a064dc2d0b6206116a35be4b62c58c3c1170d5de</id>
<content type='text'>
Add ODB API to check for existence by prefix and object id shortener</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add ODB API to check for existence by prefix and object id shortener</pre>
</div>
</content>
</entry>
<entry>
<title>Check short OID len in odb, not in backends</title>
<updated>2014-03-05T21:06:22+00:00</updated>
<author>
<name>Russell Belfer</name>
<email>rb@github.com</email>
</author>
<published>2014-03-05T21:06:22+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/libgit2.git/commit/?id=26875825df19d484c24921e355963e75dc0a4476'/>
<id>26875825df19d484c24921e355963e75dc0a4476</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
