<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/libgit2.git/src/tree-cache.c, branch cmn/read-tree-cache</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>index: make sure to write cached subtrees if parent is invalidated</title>
<updated>2014-10-03T14:46:20+00:00</updated>
<author>
<name>Carlos Martín Nieto</name>
<email>cmn@dwim.me</email>
</author>
<published>2014-09-29T06:03:22+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=cc61c2c5d5376de99ab9dd95bfe03274f1adfb77'/>
<id>cc61c2c5d5376de99ab9dd95bfe03274f1adfb77</id>
<content type='text'>
If e.g. the root tree is invalidated, we still want to write out
its children, since those may still have valid cache entries.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If e.g. the root tree is invalidated, we still want to write out
its children, since those may still have valid cache entries.
</pre>
</div>
</content>
</entry>
<entry>
<title>index: write out the tree cache extension</title>
<updated>2014-10-03T14:46:20+00:00</updated>
<author>
<name>Carlos Martín Nieto</name>
<email>cmn@dwim.me</email>
</author>
<published>2014-09-28T05:00:49+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=fd545533f403a4f7fe7561d2531b1f9fb5371c7e'/>
<id>fd545533f403a4f7fe7561d2531b1f9fb5371c7e</id>
<content type='text'>
Keeping the cache around after read-tree is only one part of the
optimisation opportunities. In order to share the cache between program
instances, we need to write the TREE extension to the index.

Do so, taking the opportunity to rename 'entries' to 'entry_count' to
match the name given in the format description. The included test is
rather trivial, but works as a sanity check.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Keeping the cache around after read-tree is only one part of the
optimisation opportunities. In order to share the cache between program
instances, we need to write the TREE extension to the index.

Do so, taking the opportunity to rename 'entries' to 'entry_count' to
match the name given in the format description. The included test is
rather trivial, but works as a sanity check.
</pre>
</div>
</content>
</entry>
<entry>
<title>tree-cache: remove the parent pointer</title>
<updated>2014-07-11T09:52:38+00:00</updated>
<author>
<name>Carlos Martín Nieto</name>
<email>cmn@dwim.me</email>
</author>
<published>2014-07-11T09:52:38+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=5800057f20d4bf21e76629c47ecd9d13dcdf2607'/>
<id>5800057f20d4bf21e76629c47ecd9d13dcdf2607</id>
<content type='text'>
This wasn't used. We invalidate based on the full path, so we always go
down the tree, never up.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This wasn't used. We invalidate based on the full path, so we always go
down the tree, never up.
</pre>
</div>
</content>
</entry>
<entry>
<title>index: fill the tree cache when reading from a tree</title>
<updated>2014-07-11T07:13:39+00:00</updated>
<author>
<name>Carlos Martín Nieto</name>
<email>cmn@dwim.me</email>
</author>
<published>2014-07-10T12:10:39+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=894b6dffbc9360a64f41cbd1227c8c19936ed4c3'/>
<id>894b6dffbc9360a64f41cbd1227c8c19936ed4c3</id>
<content type='text'>
When reading from a tree, we know what every tree is going to look like,
so we can fill in the tree cache completely, making use of the index for
modification of trees a lot quicker.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When reading from a tree, we know what every tree is going to look like,
so we can fill in the tree cache completely, making use of the index for
modification of trees a lot quicker.
</pre>
</div>
</content>
</entry>
<entry>
<title>tree-cache: move to use a pool allocator</title>
<updated>2014-07-10T11:48:13+00:00</updated>
<author>
<name>Carlos Martín Nieto</name>
<email>cmn@dwim.me</email>
</author>
<published>2014-07-10T11:48:13+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=e9363d367d80ff057d0ec0996e4445908a12be33'/>
<id>e9363d367d80ff057d0ec0996e4445908a12be33</id>
<content type='text'>
This simplifies freeing the entries quite a bit; though there aren't
that many failure paths right now, introducing filling the cache from a
tree will introduce more. This makes sure not to leak memory on errors.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This simplifies freeing the entries quite a bit; though there aren't
that many failure paths right now, introducing filling the cache from a
tree will introduce more. This makes sure not to leak memory on errors.
</pre>
</div>
</content>
</entry>
<entry>
<title>tree-cache: extract the allocation</title>
<updated>2014-07-10T10:21:28+00:00</updated>
<author>
<name>Carlos Martín Nieto</name>
<email>cmn@dwim.me</email>
</author>
<published>2014-07-10T10:21:28+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=ed4e975631a87780918cb39505c969048cd7d7ff'/>
<id>ed4e975631a87780918cb39505c969048cd7d7ff</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Minor tree cache speedups</title>
<updated>2014-04-17T21:43:46+00:00</updated>
<author>
<name>Russell Belfer</name>
<email>rb@github.com</email>
</author>
<published>2014-03-15T05:01:30+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=1fa17b5c92cb92a2785fba403b87525169b205c0'/>
<id>1fa17b5c92cb92a2785fba403b87525169b205c0</id>
<content type='text'>
While I was looking at the conflict cleanup code, I looked over at
the tree cache code, since we clear the tree cache for each entry
that gets removed and there is some redundancy there.  I made some
small tweaks to avoid extra calls to strchr and strlen in a few
circumstances.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
While I was looking at the conflict cleanup code, I looked over at
the tree cache code, since we clear the tree cache for each entry
that gets removed and there is some redundancy there.  I made some
small tweaks to avoid extra calls to strchr and strlen in a few
circumstances.
</pre>
</div>
</content>
</entry>
<entry>
<title>tree-cache: Fix error message typo</title>
<updated>2013-11-19T12:25:38+00:00</updated>
<author>
<name>nulltoken</name>
<email>emeric.fermas@gmail.com</email>
</author>
<published>2013-11-19T12:16:09+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=a5d73188023cf0ae0b6fc42dfeddce5a9ee8ad5f'/>
<id>a5d73188023cf0ae0b6fc42dfeddce5a9ee8ad5f</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>tree-cache: Don't segfault upon corruption</title>
<updated>2013-11-19T12:25:37+00:00</updated>
<author>
<name>nulltoken</name>
<email>emeric.fermas@gmail.com</email>
</author>
<published>2013-11-19T12:15:47+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=3d5233455b2483fe78c82cabf89b568d079d6742'/>
<id>3d5233455b2483fe78c82cabf89b568d079d6742</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>tree-cache: Zero out the allocated tree children array</title>
<updated>2013-11-19T12:25:25+00:00</updated>
<author>
<name>nulltoken</name>
<email>emeric.fermas@gmail.com</email>
</author>
<published>2013-11-19T12:13:51+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=82e6a42c6c387a584df1b2efb4fa3bfdb8c290a2'/>
<id>82e6a42c6c387a584df1b2efb4fa3bfdb8c290a2</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
