<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/libgit2.git, branch ethomson/diff-read-empty-binary</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>diff: treat binary patches with no data special</title>
<updated>2016-09-05T17:26:47+00:00</updated>
<author>
<name>Edward Thomson</name>
<email>ethomson@github.com</email>
</author>
<published>2016-09-02T07:03:45+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/libgit2.git/commit/?id=adedac5aba9e4525475fd59d751cd02c6f2b3a4f'/>
<id>adedac5aba9e4525475fd59d751cd02c6f2b3a4f</id>
<content type='text'>
When creating and printing diffs, deal with binary deltas that have
binary data specially, versus diffs that have a binary file but lack the
actual binary data.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When creating and printing diffs, deal with binary deltas that have
binary data specially, versus diffs that have a binary file but lack the
actual binary data.
</pre>
</div>
</content>
</entry>
<entry>
<title>diff_print: change test for skipping binary printing</title>
<updated>2016-09-02T16:26:16+00:00</updated>
<author>
<name>Edward Thomson</name>
<email>ethomson@github.com</email>
</author>
<published>2016-09-02T16:26:16+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/libgit2.git/commit/?id=f4e3dae75ff7246952f6707ad2a2fdea758e03ea'/>
<id>f4e3dae75ff7246952f6707ad2a2fdea758e03ea</id>
<content type='text'>
Instead of skipping printing a binary diff when there is no data, skip
printing when we have a status of `UNMODIFIED`.  This is more in-line
with our internal data model and allows us to expand the notion of
binary data.

In the future, there may have no data because the files were unmodified
(there was no data to produce) or it may have no data because there was
no data given to us in a patch.  We want to treat these cases
separately.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Instead of skipping printing a binary diff when there is no data, skip
printing when we have a status of `UNMODIFIED`.  This is more in-line
with our internal data model and allows us to expand the notion of
binary data.

In the future, there may have no data because the files were unmodified
(there was no data to produce) or it may have no data because there was
no data given to us in a patch.  We want to treat these cases
separately.
</pre>
</div>
</content>
</entry>
<entry>
<title>patch: error on diff callback failure</title>
<updated>2016-09-02T16:22:33+00:00</updated>
<author>
<name>Edward Thomson</name>
<email>ethomson@github.com</email>
</author>
<published>2016-09-01T21:55:27+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/libgit2.git/commit/?id=4bfd7c63fcd920af8366e521b7e985ded7cb3e84'/>
<id>4bfd7c63fcd920af8366e521b7e985ded7cb3e84</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 #3922 from pks-t/pks/diff-only-load-binaries-when-requested</title>
<updated>2016-09-02T13:50:08+00:00</updated>
<author>
<name>Edward Thomson</name>
<email>ethomson@github.com</email>
</author>
<published>2016-09-02T13:50:08+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/libgit2.git/commit/?id=ce54e77c70b5d0429a7d8a18dd31696f668ef3d0'/>
<id>ce54e77c70b5d0429a7d8a18dd31696f668ef3d0</id>
<content type='text'>
patch_generate: only calculate binary diffs if requested</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
patch_generate: only calculate binary diffs if requested</pre>
</div>
</content>
</entry>
<entry>
<title>patch_generate: only calculate binary diffs if requested</title>
<updated>2016-09-01T13:14:25+00:00</updated>
<author>
<name>Patrick Steinhardt</name>
<email>ps@pks.im</email>
</author>
<published>2016-09-01T13:14:25+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/libgit2.git/commit/?id=4b34f687bd3382fc94012fa221885028f4cfded5'/>
<id>4b34f687bd3382fc94012fa221885028f4cfded5</id>
<content type='text'>
When generating diffs for binary files, we load and decompress
the blobs in order to generate the actual diff, which can be very
costly. While we cannot avoid this for the case when we are
called with the `GIT_DIFF_SHOW_BINARY` flag, we do not have to
load the blobs in the case where this flag is not set, as the
caller is expected to have no interest in the actual content of
binary files.

Fix the issue by only generating a binary diff when the caller is
actually interested in the diff. As libgit2 uses heuristics to
determine that a blob contains binary data by inspecting its size
without loading from the ODB, this saves us quite some time when
diffing in a repository with binary files.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When generating diffs for binary files, we load and decompress
the blobs in order to generate the actual diff, which can be very
costly. While we cannot avoid this for the case when we are
called with the `GIT_DIFF_SHOW_BINARY` flag, we do not have to
load the blobs in the case where this flag is not set, as the
caller is expected to have no interest in the actual content of
binary files.

Fix the issue by only generating a binary diff when the caller is
actually interested in the diff. As libgit2 uses heuristics to
determine that a blob contains binary data by inspecting its size
without loading from the ODB, this saves us quite some time when
diffing in a repository with binary files.
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge pull request #3915 from pks-t/pks/index-collision-test-leak</title>
<updated>2016-08-30T10:11:02+00:00</updated>
<author>
<name>Carlos Martín Nieto</name>
<email>carlosmn@github.com</email>
</author>
<published>2016-08-30T10:11:02+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/libgit2.git/commit/?id=40b08124f26e6a1328fa35fc1c0f69911d31a2d8'/>
<id>40b08124f26e6a1328fa35fc1c0f69911d31a2d8</id>
<content type='text'>
tests: index: do not re-allocate index</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
tests: index: do not re-allocate index</pre>
</div>
</content>
</entry>
<entry>
<title>Merge pull request #3907 from steffhip/git_checkout_tree-fix</title>
<updated>2016-08-30T06:22:49+00:00</updated>
<author>
<name>Patrick Steinhardt</name>
<email>ps@pks.im</email>
</author>
<published>2016-08-30T06:22:17+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/libgit2.git/commit/?id=a08e88259fe7ef3d7514a4774acd6eec5a6a2ca7'/>
<id>a08e88259fe7ef3d7514a4774acd6eec5a6a2ca7</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>git_checkout_tree options fix</title>
<updated>2016-08-30T06:04:28+00:00</updated>
<author>
<name>Stefan Huber</name>
<email>steffhip@gmail.com</email>
</author>
<published>2016-08-23T23:20:39+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/libgit2.git/commit/?id=88cfe61497dbf1f568e1c606f8b1c791602c71f4'/>
<id>88cfe61497dbf1f568e1c606f8b1c791602c71f4</id>
<content type='text'>
According to the reference the git_checkout_tree and git_checkout_head
functions should accept NULL in the opts field

This was broken since the opts field was dereferenced and thus lead to a
crash.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
According to the reference the git_checkout_tree and git_checkout_head
functions should accept NULL in the opts field

This was broken since the opts field was dereferenced and thus lead to a
crash.
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge pull request #3914 from pks-t/pks/libqgit2-binding-url</title>
<updated>2016-08-29T14:39:03+00:00</updated>
<author>
<name>Edward Thomson</name>
<email>ethomson@github.com</email>
</author>
<published>2016-08-29T14:39:03+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/libgit2.git/commit/?id=dfd7957696eed03733d8edb17e132153c7dc7a4e'/>
<id>dfd7957696eed03733d8edb17e132153c7dc7a4e</id>
<content type='text'>
README: adjust URL to libqgit2 repository</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
README: adjust URL to libqgit2 repository</pre>
</div>
</content>
</entry>
<entry>
<title>tests: index: do not re-allocate index</title>
<updated>2016-08-29T11:29:01+00:00</updated>
<author>
<name>Patrick Steinhardt</name>
<email>ps@pks.im</email>
</author>
<published>2016-08-29T11:09:58+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/libgit2.git/commit/?id=86e88534d6ad2982d7519084e4323e93829a571c'/>
<id>86e88534d6ad2982d7519084e4323e93829a571c</id>
<content type='text'>
Plug a memory leak caused by re-allocating a `git_index`
structure which has already been allocated by the test suite's
initializer.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Plug a memory leak caused by re-allocating a `git_index`
structure which has already been allocated by the test suite's
initializer.
</pre>
</div>
</content>
</entry>
</feed>
