<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/libgit2.git/include, branch cmn/commit-create-safe</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>commit: safer commit creation with reference update</title>
<updated>2014-04-29T22:41:37+00:00</updated>
<author>
<name>Carlos Martín Nieto</name>
<email>cmn@dwim.me</email>
</author>
<published>2014-04-09T12:08:22+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/libgit2.git/commit/?id=217c029b54e8f1574ae6bc71c4b25533ecff3b6a'/>
<id>217c029b54e8f1574ae6bc71c4b25533ecff3b6a</id>
<content type='text'>
The current version of the commit creation and amend function are unsafe
to use when passing the update_ref parameter, as they do not check that
the reference at the moment of update points to what the user expects.

Make sure that we're moving history forward when we ask the library to
update the reference for us by checking that the first parent of the new
commit is the current value of the reference. We also make sure that the
ref we're updating hasn't moved between the read and the write.

Similarly, when amending a commit, make sure that the current tip of the
branch is the commit we're amending.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The current version of the commit creation and amend function are unsafe
to use when passing the update_ref parameter, as they do not check that
the reference at the moment of update points to what the user expects.

Make sure that we're moving history forward when we ask the library to
update the reference for us by checking that the first parent of the new
commit is the current value of the reference. We also make sure that the
ref we're updating hasn't moved between the read and the write.

Similarly, when amending a commit, make sure that the current tip of the
branch is the commit we're amending.
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge pull request #2284 from jacquesg/push-progress-callback</title>
<updated>2014-04-25T09:10:19+00:00</updated>
<author>
<name>Vicent Marti</name>
<email>vicent@github.com</email>
</author>
<published>2014-04-25T09:10:19+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/libgit2.git/commit/?id=8443ed6c1d1237e203474a772fb4281c382df6ac'/>
<id>8443ed6c1d1237e203474a772fb4281c382df6ac</id>
<content type='text'>
Fire progress and update tips callbacks also for pushes.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fire progress and update tips callbacks also for pushes.</pre>
</div>
</content>
</entry>
<entry>
<title>Improve docs for status rename detection limits</title>
<updated>2014-04-24T22:40:50+00:00</updated>
<author>
<name>Russell Belfer</name>
<email>rb@github.com</email>
</author>
<published>2014-04-24T22:40:50+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/libgit2.git/commit/?id=6b833e3a4a29d76e25120cf374838404a6b68825'/>
<id>6b833e3a4a29d76e25120cf374838404a6b68825</id>
<content type='text'>
and make tests empty on platforms without iconv support.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
and make tests empty on platforms without iconv support.
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge pull request #2291 from ethomson/patch_binary</title>
<updated>2014-04-23T16:27:15+00:00</updated>
<author>
<name>Vicent Marti</name>
<email>vicent@github.com</email>
</author>
<published>2014-04-23T16:27:15+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/libgit2.git/commit/?id=212b6205d70ff7c0f0f0b1eda6ac964c8d09d431'/>
<id>212b6205d70ff7c0f0f0b1eda6ac964c8d09d431</id>
<content type='text'>
patch: emit deflated binary patches (optionally)</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
patch: emit deflated binary patches (optionally)</pre>
</div>
</content>
</entry>
<entry>
<title>patch: emit binary patches (optionally)</title>
<updated>2014-04-23T00:08:21+00:00</updated>
<author>
<name>Edward Thomson</name>
<email>ethomson@microsoft.com</email>
</author>
<published>2014-04-22T18:58:33+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/libgit2.git/commit/?id=e349ed500b75349b1a525fce60dc08c8d8927ba0'/>
<id>e349ed500b75349b1a525fce60dc08c8d8927ba0</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Use git_diff_get_stats in example/diff + refactor</title>
<updated>2014-04-22T19:33:27+00:00</updated>
<author>
<name>Russell Belfer</name>
<email>rb@github.com</email>
</author>
<published>2014-04-22T19:33:27+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/libgit2.git/commit/?id=8d09efa24ee01e9e4b14672978bfd1bb1ca2436a'/>
<id>8d09efa24ee01e9e4b14672978bfd1bb1ca2436a</id>
<content type='text'>
This takes the `--stat` and related example options in the example
diff.c program and converts them to use the `git_diff_get_stats`
API which nicely formats stats for you.

I went to add bar-graph scaling to the stats formatter and noticed
that the `git_diff_stats` structure was holding on to all of the
`git_patch` objects.  Unfortunately, each of these objects keeps
the full text of the diff in memory, so this is very expensive.  I
ended up modifying `git_diff_stats` to keep just the data that it
needs to keep and allowed it to release the patches.  Then, I added
width scaling to the output on top of that.

In making the diff example program match 'git diff' output, I ended
up removing an newline from the sumamry output which I then had to
compensate for in the email formatting to match the expectations.

Lastly, I went through and refactored the tests to use a couple of
helper functions and reduce the overall amount of code there.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This takes the `--stat` and related example options in the example
diff.c program and converts them to use the `git_diff_get_stats`
API which nicely formats stats for you.

I went to add bar-graph scaling to the stats formatter and noticed
that the `git_diff_stats` structure was holding on to all of the
`git_patch` objects.  Unfortunately, each of these objects keeps
the full text of the diff in memory, so this is very expensive.  I
ended up modifying `git_diff_stats` to keep just the data that it
needs to keep and allowed it to release the patches.  Then, I added
width scaling to the output on top of that.

In making the diff example program match 'git diff' output, I ended
up removing an newline from the sumamry output which I then had to
compensate for in the email formatting to match the expectations.

Lastly, I went through and refactored the tests to use a couple of
helper functions and reduce the overall amount of code there.
</pre>
</div>
</content>
</entry>
<entry>
<title>Some doc and examples/diff.c changes</title>
<updated>2014-04-22T16:17:29+00:00</updated>
<author>
<name>Russell Belfer</name>
<email>rb@github.com</email>
</author>
<published>2014-04-21T23:08:05+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/libgit2.git/commit/?id=12e422a0562de2aebb05f5f414dbcde7caf85886'/>
<id>12e422a0562de2aebb05f5f414dbcde7caf85886</id>
<content type='text'>
I was playing with "git diff-index" and wanted to be able to
emulate that behavior a little more closely with the diff example.

Also, I wanted to play with running `git_diff_tree_to_workdir`
directly even though core Git doesn't exactly have the equivalent,
so I added a command line option for that and tweaked some other
things in the example code.

This changes a minor output thing in that the "raw" print helper
function will no longer add ellipses (...) if the OID is not
actually abbreviated.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
I was playing with "git diff-index" and wanted to be able to
emulate that behavior a little more closely with the diff example.

Also, I wanted to play with running `git_diff_tree_to_workdir`
directly even though core Git doesn't exactly have the equivalent,
so I added a command line option for that and tweaked some other
things in the example code.

This changes a minor output thing in that the "raw" print helper
function will no longer add ellipses (...) if the OID is not
actually abbreviated.
</pre>
</div>
</content>
</entry>
<entry>
<title>transports: allow the creds callback to say it doesn't exist</title>
<updated>2014-04-22T12:34:26+00:00</updated>
<author>
<name>Carlos Martín Nieto</name>
<email>cmn@dwim.me</email>
</author>
<published>2014-04-19T13:52:58+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/libgit2.git/commit/?id=bc0a61986745b89258a98773f88bd98c44ef88d5'/>
<id>bc0a61986745b89258a98773f88bd98c44ef88d5</id>
<content type='text'>
Allow the credentials callback to return GIT_PASSTHROUGH to make the
transports code behave as though none was set.

This should make it easier for bindings to behave closer to the C code
when there is no credentials callback set at their level.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Allow the credentials callback to return GIT_PASSTHROUGH to make the
transports code behave as though none was set.

This should make it easier for bindings to behave closer to the C code
when there is no credentials callback set at their level.
</pre>
</div>
</content>
</entry>
<entry>
<title>remote: provide read access to the callback structure</title>
<updated>2014-04-22T12:32:19+00:00</updated>
<author>
<name>Carlos Martín Nieto</name>
<email>cmn@dwim.me</email>
</author>
<published>2014-04-19T13:34:12+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/libgit2.git/commit/?id=2efd7df6b11e8c646d05870965bb4588d6b6d425'/>
<id>2efd7df6b11e8c646d05870965bb4588d6b6d425</id>
<content type='text'>
This should make it easier for bindings to dynamically override their
own callbacks.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This should make it easier for bindings to dynamically override their
own callbacks.
</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>
</feed>
