<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/libgit2.git/src/buffer.c, branch attr-export</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>Add git_buf_unescape and git__unescape to unescape all characters in a string (in-place)</title>
<updated>2012-07-24T12:03:07+00:00</updated>
<author>
<name>yorah</name>
<email>yoram.harmelin@gmail.com</email>
</author>
<published>2012-07-12T14:31:59+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/libgit2.git/commit/?id=02a0d651d79b2108dd6b894b9a43f7682270ac51'/>
<id>02a0d651d79b2108dd6b894b9a43f7682270ac51</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix missing NUL termination of buffer</title>
<updated>2012-07-11T06:51:32+00:00</updated>
<author>
<name>Russell Belfer</name>
<email>rb@github.com</email>
</author>
<published>2012-07-11T06:51:32+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/libgit2.git/commit/?id=54e29b9380f1cd0fa596d71c317de907da19b13d'/>
<id>54e29b9380f1cd0fa596d71c317de907da19b13d</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add a couple of useful git_buf utilities</title>
<updated>2012-07-11T06:19:47+00:00</updated>
<author>
<name>Russell Belfer</name>
<email>rb@github.com</email>
</author>
<published>2012-07-10T22:10:14+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/libgit2.git/commit/?id=039fc4067989a14a09784ed16ce7126ac75461cb'/>
<id>039fc4067989a14a09784ed16ce7126ac75461cb</id>
<content type='text'>
* `git_buf_rfind` (with tests and tests for `git_buf_rfind_next`)
* `git_buf_puts_escaped` and `git_buf_puts_escaped_regex` (with tests)
  to copy strings into a buffer while injecting an escape sequence
  (e.g. '\') in front of particular characters.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* `git_buf_rfind` (with tests and tests for `git_buf_rfind_next`)
* `git_buf_puts_escaped` and `git_buf_puts_escaped_regex` (with tests)
  to copy strings into a buffer while injecting an escape sequence
  (e.g. '\') in front of particular characters.
</pre>
</div>
</content>
</entry>
<entry>
<title>misc: Fix warnings from PVS Studio trial</title>
<updated>2012-06-07T20:43:48+00:00</updated>
<author>
<name>Vicent Martí</name>
<email>tanoku@gmail.com</email>
</author>
<published>2012-06-07T20:43:03+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/libgit2.git/commit/?id=3f0358604e48432b53abf097aa3ab6a1e3639813'/>
<id>3f0358604e48432b53abf097aa3ab6a1e3639813</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>No point in keeping commented out fn</title>
<updated>2012-05-17T21:44:17+00:00</updated>
<author>
<name>Russell Belfer</name>
<email>rb@github.com</email>
</author>
<published>2012-05-17T21:44:17+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/libgit2.git/commit/?id=e3557172aff5814e32e58bceb015465dcbe9e5f3'/>
<id>e3557172aff5814e32e58bceb015465dcbe9e5f3</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Other optimization and warning fixes</title>
<updated>2012-05-17T20:14:17+00:00</updated>
<author>
<name>Russell Belfer</name>
<email>rb@github.com</email>
</author>
<published>2012-05-17T20:14:17+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/libgit2.git/commit/?id=a0d959628f2a9eff65088c3247f237aef5205e73'/>
<id>a0d959628f2a9eff65088c3247f237aef5205e73</id>
<content type='text'>
This fixes a warning left by the earlier optimization and
addresses one of the other hotspots identified by GProf.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This fixes a warning left by the earlier optimization and
addresses one of the other hotspots identified by GProf.
</pre>
</div>
</content>
</entry>
<entry>
<title>Optimize away git_text_gather_stats in diff</title>
<updated>2012-05-17T20:06:20+00:00</updated>
<author>
<name>Russell Belfer</name>
<email>rb@github.com</email>
</author>
<published>2012-05-17T20:06:20+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/libgit2.git/commit/?id=b59c73d39a0bb3ddb6fd4e81f796018c2b3a0579'/>
<id>b59c73d39a0bb3ddb6fd4e81f796018c2b3a0579</id>
<content type='text'>
GProf shows `git_text_gather_stats` as the most expensive call
in large diffs.  The function calculates a lot of information
that is not actually used and does not do so in a optimal
order.  This introduces a tuned `git_buf_is_binary` function
that executes the same algorithm in a fraction of the time.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
GProf shows `git_text_gather_stats` as the most expensive call
in large diffs.  The function calculates a lot of information
that is not actually used and does not do so in a optimal
order.  This introduces a tuned `git_buf_is_binary` function
that executes the same algorithm in a fraction of the time.
</pre>
</div>
</content>
</entry>
<entry>
<title>Document git_buf_common_prefix</title>
<updated>2012-05-15T23:33:05+00:00</updated>
<author>
<name>Russell Belfer</name>
<email>rb@github.com</email>
</author>
<published>2012-05-15T23:33:05+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/libgit2.git/commit/?id=2c8339172878cd935eee0d9eb6db747cebd70a72'/>
<id>2c8339172878cd935eee0d9eb6db747cebd70a72</id>
<content type='text'>
This function fills in a git_buf with the common prefix of
an array of strings, but let's make that a little more clear.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This function fills in a git_buf with the common prefix of
an array of strings, but let's make that a little more clear.
</pre>
</div>
</content>
</entry>
<entry>
<title>Ranged iterators and rewritten git_status_file</title>
<updated>2012-05-15T21:34:15+00:00</updated>
<author>
<name>Russell Belfer</name>
<email>rb@github.com</email>
</author>
<published>2012-05-15T21:17:39+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/libgit2.git/commit/?id=41a82592ef56a216f96558942d717af15589071d'/>
<id>41a82592ef56a216f96558942d717af15589071d</id>
<content type='text'>
The goal of this work is to rewrite git_status_file to use the
same underlying code as git_status_foreach.

This is done in 3 phases:

1. Extend iterators to allow ranged iteration with start and
   end prefixes for the range of file names to be covered.
2. Improve diff so that when there is a pathspec and there is
   a common non-wildcard prefix of the pathspec, it will use
   ranged iterators to minimize excess iteration.
3. Rewrite git_status_file to call git_status_foreach_ext
   with a pathspec that covers just the one file being checked.

Since ranged iterators underlie the status &amp; diff implementation,
this is actually fairly efficient.  The workdir iterator does
end up loading the contents of all the directories down to the
single file, which should ideally be avoided, but it is pretty
good.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The goal of this work is to rewrite git_status_file to use the
same underlying code as git_status_foreach.

This is done in 3 phases:

1. Extend iterators to allow ranged iteration with start and
   end prefixes for the range of file names to be covered.
2. Improve diff so that when there is a pathspec and there is
   a common non-wildcard prefix of the pathspec, it will use
   ranged iterators to minimize excess iteration.
3. Rewrite git_status_file to call git_status_foreach_ext
   with a pathspec that covers just the one file being checked.

Since ranged iterators underlie the status &amp; diff implementation,
this is actually fairly efficient.  The workdir iterator does
end up loading the contents of all the directories down to the
single file, which should ideally be avoided, but it is pretty
good.
</pre>
</div>
</content>
</entry>
<entry>
<title>msvc: Do not use `isspace`</title>
<updated>2012-05-09T02:37:02+00:00</updated>
<author>
<name>Vicent Martí</name>
<email>tanoku@gmail.com</email>
</author>
<published>2012-05-09T02:37:02+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/libgit2.git/commit/?id=0f49200c9a72f7d8144eb663dee2c684d52ef42a'/>
<id>0f49200c9a72f7d8144eb663dee2c684d52ef42a</id>
<content type='text'>

Locale-aware bullshit bitting my ass again yo
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>

Locale-aware bullshit bitting my ass again yo
</pre>
</div>
</content>
</entry>
</feed>
