<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/libgit2.git/src, branch ethomson/mac_build</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>Merge pull request #3851 from txdv/get-user-agent</title>
<updated>2016-07-05T19:51:01+00:00</updated>
<author>
<name>Edward Thomson</name>
<email>ethomson@github.com</email>
</author>
<published>2016-07-05T19:51:01+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=c18a2bc4e013c07c497e9811f1d796852773d348'/>
<id>c18a2bc4e013c07c497e9811f1d796852773d348</id>
<content type='text'>
Add get user agent functionality.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add get user agent functionality.</pre>
</div>
</content>
</entry>
<entry>
<title>Merge pull request #3846 from rkrp/fix_bug_parsing_int64min</title>
<updated>2016-07-05T16:46:27+00:00</updated>
<author>
<name>Edward Thomson</name>
<email>ethomson@github.com</email>
</author>
<published>2016-07-05T16:46:27+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=b57c176aa94275e539b6673a3fef0bdfaa227e00'/>
<id>b57c176aa94275e539b6673a3fef0bdfaa227e00</id>
<content type='text'>
Fixed bug while parsing INT64_MIN</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixed bug while parsing INT64_MIN</pre>
</div>
</content>
</entry>
<entry>
<title>Add get user agent functionality.</title>
<updated>2016-07-05T15:10:24+00:00</updated>
<author>
<name>Andrius Bentkus</name>
<email>andrius.bentkus@gmail.com</email>
</author>
<published>2016-07-05T06:41:51+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=f1dba144810b190bc7c621a346f537e1f646b75a'/>
<id>f1dba144810b190bc7c621a346f537e1f646b75a</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 #3836 from joshtriplett/cleanup-find_repo</title>
<updated>2016-07-01T22:47:06+00:00</updated>
<author>
<name>Edward Thomson</name>
<email>ethomson@github.com</email>
</author>
<published>2016-07-01T22:47:06+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=d8243465be6ae4c3d0482ec262da58276f3a4e58'/>
<id>d8243465be6ae4c3d0482ec262da58276f3a4e58</id>
<content type='text'>
find_repo: Clean up and simplify logic</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
find_repo: Clean up and simplify logic</pre>
</div>
</content>
</entry>
<entry>
<title>Merge pull request #3711 from joshtriplett/git_repository_discover_default</title>
<updated>2016-07-01T22:45:10+00:00</updated>
<author>
<name>Edward Thomson</name>
<email>ethomson@github.com</email>
</author>
<published>2016-07-01T22:45:10+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=ebeb56f0f53803e5c11429b01618e0182ad59fca'/>
<id>ebeb56f0f53803e5c11429b01618e0182ad59fca</id>
<content type='text'>
Add GIT_REPOSITORY_OPEN_FROM_ENV flag to respect $GIT_* environment vars</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add GIT_REPOSITORY_OPEN_FROM_ENV flag to respect $GIT_* environment vars</pre>
</div>
</content>
</entry>
<entry>
<title>index: include conflicts in `git_index_read_index`</title>
<updated>2016-06-29T22:37:00+00:00</updated>
<author>
<name>Edward Thomson</name>
<email>ethomson@github.com</email>
</author>
<published>2016-06-29T21:55:44+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=6249d960ab2d968acd1a9d87986c81a12e2e96bc'/>
<id>6249d960ab2d968acd1a9d87986c81a12e2e96bc</id>
<content type='text'>
Ensure that we include conflicts when calling `git_index_read_index`,
which will remove conflicts in the index that do not exist in the new
target, and will add conflicts from the new target.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Ensure that we include conflicts when calling `git_index_read_index`,
which will remove conflicts in the index that do not exist in the new
target, and will add conflicts from the new target.
</pre>
</div>
</content>
</entry>
<entry>
<title>index: refactor common `read_index` functionality</title>
<updated>2016-06-29T21:01:47+00:00</updated>
<author>
<name>Edward Thomson</name>
<email>ethomson@github.com</email>
</author>
<published>2016-06-29T21:01:47+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=6f7ec7283db8c105f6c08d333783c4a99476eeee'/>
<id>6f7ec7283db8c105f6c08d333783c4a99476eeee</id>
<content type='text'>
Most of `git_index_read_index` is common to reading any iterator.
Refactor it out in case we want to implement `read_tree` in terms of it
in the future.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Most of `git_index_read_index` is common to reading any iterator.
Refactor it out in case we want to implement `read_tree` in terms of it
in the future.
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge pull request #3813 from stinb/submodule-update-fetch</title>
<updated>2016-06-29T14:01:26+00:00</updated>
<author>
<name>Edward Thomson</name>
<email>ethomson@github.com</email>
</author>
<published>2016-06-29T14:01:26+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=59a0005ddd981a582fea4411d272dce53e1f6f1f'/>
<id>59a0005ddd981a582fea4411d272dce53e1f6f1f</id>
<content type='text'>
submodule: Try to fetch when update fails to find the target commit.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
submodule: Try to fetch when update fails to find the target commit.</pre>
</div>
</content>
</entry>
<entry>
<title>blame: do not decrement commit refcount in make_origin</title>
<updated>2016-06-29T12:43:00+00:00</updated>
<author>
<name>Patrick Steinhardt</name>
<email>ps@pks.im</email>
</author>
<published>2016-06-27T13:20:20+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=217667028918d1993d22508881e5df8fa2755e6a'/>
<id>217667028918d1993d22508881e5df8fa2755e6a</id>
<content type='text'>
When we create a blame origin, we try to look up the blob that is
to be blamed at a certain revision. When this lookup fails, e.g.
because the file did not exist at that certain revision, we fail
to create the blame origin and return `NULL`. The blame origin
that we have just allocated is thereby free'd with
`origin_decref`.

The `origin_decref` function does not only decrement reference
counts for the blame origin, though, but also for its commit and
blob. When this is done in the error case, we will cause an
uneven reference count for these objects. This may result in
hard-to-debug failures at seemingly unrelated code paths, where
we try to access these objects when they in fact have already
been free'd.

Fix the issue by refactoring `make_origin` such that we only
allocate the object after the only function that may fail so that
we do not have to call `origin_decref` at all. Also fix the
`pass_blame` function, which indirectly calls `make_origin`, to
free the commit when `make_origin` failed.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When we create a blame origin, we try to look up the blob that is
to be blamed at a certain revision. When this lookup fails, e.g.
because the file did not exist at that certain revision, we fail
to create the blame origin and return `NULL`. The blame origin
that we have just allocated is thereby free'd with
`origin_decref`.

The `origin_decref` function does not only decrement reference
counts for the blame origin, though, but also for its commit and
blob. When this is done in the error case, we will cause an
uneven reference count for these objects. This may result in
hard-to-debug failures at seemingly unrelated code paths, where
we try to access these objects when they in fact have already
been free'd.

Fix the issue by refactoring `make_origin` such that we only
allocate the object after the only function that may fail so that
we do not have to call `origin_decref` at all. Also fix the
`pass_blame` function, which indirectly calls `make_origin`, to
free the commit when `make_origin` failed.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fixed bug while parsing INT64_MIN</title>
<updated>2016-06-29T08:02:18+00:00</updated>
<author>
<name>Krishna Ram Prakash R</name>
<email>krp@gtux.in</email>
</author>
<published>2016-06-28T14:49:52+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=70b9b8417910c97307e1c5dd5886ce76e68e201c'/>
<id>70b9b8417910c97307e1c5dd5886ce76e68e201c</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
