<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/libgit2.git/src/revwalk.h, branch csware/system_proxy</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>revwalk: catch no-push and no-hide cases</title>
<updated>2014-10-08T15:14:48+00:00</updated>
<author>
<name>Carlos Martín Nieto</name>
<email>cmn@dwim.me</email>
</author>
<published>2014-10-08T15:14:48+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=9b5d6cea4aba38a58233a93fde2d0ffd6945f171'/>
<id>9b5d6cea4aba38a58233a93fde2d0ffd6945f171</id>
<content type='text'>
If there have been no pushes, we can immediately return ITEROVER. If
there have been no hides, we must not run the uninteresting pre-mark
phase, as we do not want to hide anything and this would simply cause us
to spend time loading objects.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If there have been no pushes, we can immediately return ITEROVER. If
there have been no hides, we must not run the uninteresting pre-mark
phase, as we do not want to hide anything and this would simply cause us
to spend time loading objects.
</pre>
</div>
</content>
</entry>
<entry>
<title>revwalk: keep a single list of user inputs</title>
<updated>2014-10-08T08:45:47+00:00</updated>
<author>
<name>Carlos Martín Nieto</name>
<email>cmn@dwim.me</email>
</author>
<published>2014-10-08T08:45:47+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=ad66bf88df087bee34bb0dd47a9eacfdbef89c57'/>
<id>ad66bf88df087bee34bb0dd47a9eacfdbef89c57</id>
<content type='text'>
The old separation was due to the old merge-base finding, so it's no
longer necessary.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The old separation was due to the old merge-base finding, so it's no
longer necessary.
</pre>
</div>
</content>
</entry>
<entry>
<title>No need to find merge base.</title>
<updated>2014-03-31T22:15:32+00:00</updated>
<author>
<name>Anurag Gupta</name>
<email>anugupta@microsoft.com</email>
</author>
<published>2014-03-31T22:15:32+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=3bc3d797611fccdf7a15cafafbb965b37fbb03f1'/>
<id>3bc3d797611fccdf7a15cafafbb965b37fbb03f1</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Callback to hide commits in revision walker.</title>
<updated>2014-03-24T18:20:03+00:00</updated>
<author>
<name>Anurag Gupta</name>
<email>anugupta@microsoft.com</email>
</author>
<published>2014-03-10T19:00:33+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=892aa808e2e879562c45f3d0886668f86265f1cf'/>
<id>892aa808e2e879562c45f3d0886668f86265f1cf</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>revwalk: don't try to find merge bases when there can be none</title>
<updated>2014-03-20T19:24:11+00:00</updated>
<author>
<name>Carlos Martín Nieto</name>
<email>cmn@dwim.me</email>
</author>
<published>2014-03-20T19:24:11+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=704b55cce33aa8665c558347c104041d3ec6e2f3'/>
<id>704b55cce33aa8665c558347c104041d3ec6e2f3</id>
<content type='text'>
As a way to speed up the cases where we need to hide some commits, we
find out what the merge bases are so we know to stop marking commits as
uninteresting and avoid walking down a potentially very large amount of
commits which we will never see. There are however two oversights in
current code.

The merge-base finding algorithm fails to recognize that if it is only
given one commit, there can be no merge base. It instead walks down the
whole ancestor chain needlessly. Make it return an empty list
immediately in this situation.

The revwalk does not know whether the user has asked to hide any commits
at all. In situation where the user pushes multiple commits but doesn't
hide any, the above fix wouldn't do the trick. Keep track of whether the
user wants to hide any commits and only run the merge-base finding
algorithm when it's needed.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
As a way to speed up the cases where we need to hide some commits, we
find out what the merge bases are so we know to stop marking commits as
uninteresting and avoid walking down a potentially very large amount of
commits which we will never see. There are however two oversights in
current code.

The merge-base finding algorithm fails to recognize that if it is only
given one commit, there can be no merge base. It instead walks down the
whole ancestor chain needlessly. Make it return an empty list
immediately in this situation.

The revwalk does not know whether the user has asked to hide any commits
at all. In situation where the user pushes multiple commits but doesn't
hide any, the above fix wouldn't do the trick. Keep track of whether the
user wants to hide any commits and only run the merge-base finding
algorithm when it's needed.
</pre>
</div>
</content>
</entry>
<entry>
<title>revwalk: allow simplifying by first-parent</title>
<updated>2013-09-09T18:31:14+00:00</updated>
<author>
<name>Carlos Martín Nieto</name>
<email>cmn@dwim.me</email>
</author>
<published>2013-09-07T22:52:26+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=15f7b9b8d9bdfb68ca52d582be40cf6112464e77'/>
<id>15f7b9b8d9bdfb68ca52d582be40cf6112464e77</id>
<content type='text'>
When enabled, only the first parent of each commit will be queued,
enabling a simple way of using first-parent simplification.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When enabled, only the first parent of each commit will be queued,
enabling a simple way of using first-parent simplification.
</pre>
</div>
</content>
</entry>
<entry>
<title>update copyrights</title>
<updated>2013-01-08T23:31:27+00:00</updated>
<author>
<name>Edward Thomson</name>
<email>ethomson@edwardthomson.com</email>
</author>
<published>2013-01-08T23:07:25+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=359fc2d241ac407bdf9bf0d28715705f01ca6360'/>
<id>359fc2d241ac407bdf9bf0d28715705f01ca6360</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix function name and add real error check</title>
<updated>2012-11-30T01:02:27+00:00</updated>
<author>
<name>Russell Belfer</name>
<email>rb@github.com</email>
</author>
<published>2012-11-30T01:02:27+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=d5e44d84983ba199a62ec67f823312584339fae3'/>
<id>d5e44d84983ba199a62ec67f823312584339fae3</id>
<content type='text'>
`revwalk.h:commit_lookup()` -&gt; `git_revwalk__commit_lookup()`
and make `git_commit_list_parse()` do real error checking that
the item in the list is an actual commit object.  Also fixed an
apparent typo in a test name.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
`revwalk.h:commit_lookup()` -&gt; `git_revwalk__commit_lookup()`
and make `git_commit_list_parse()` do real error checking that
the item in the list is an actual commit object.  Also fixed an
apparent typo in a test name.
</pre>
</div>
</content>
</entry>
<entry>
<title>Move merge functions to merge.c</title>
<updated>2012-11-27T21:18:29+00:00</updated>
<author>
<name>Ben Straub</name>
<email>bs@github.com</email>
</author>
<published>2012-11-27T03:47:47+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=4ff192d3f224c780c741e62146c3350e54cba759'/>
<id>4ff192d3f224c780c741e62146c3350e54cba759</id>
<content type='text'>
In so doing, promote commit_list to git_commit_list,
with its own internal API header.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In so doing, promote commit_list to git_commit_list,
with its own internal API header.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix headers for the new Revision Walker</title>
<updated>2011-03-16T21:59:09+00:00</updated>
<author>
<name>Vicent Marti</name>
<email>tanoku@gmail.com</email>
</author>
<published>2011-03-16T21:59:09+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=b5c5f0f8086ee4e9bccf0703386fd5219ac380c2'/>
<id>b5c5f0f8086ee4e9bccf0703386fd5219ac380c2</id>
<content type='text'>
The "oid.h" header is now included instead of "object.h".

The old "revwalk.h" header has been removed; it was empty.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The "oid.h" header is now included instead of "object.h".

The old "revwalk.h" header has been removed; it was empty.
</pre>
</div>
</content>
</entry>
</feed>
