<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/libgit2.git/include/git2/tree.h, branch ethomson/remove_sys_remote_h</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>parameter 'id' not found in the function declaration</title>
<updated>2017-01-23T12:32:34+00:00</updated>
<author>
<name>Etienne Samson</name>
<email>samson.etienne@gmail.com</email>
</author>
<published>2017-01-23T12:28:02+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=7414acf5f97c0be1fec0504a61624be3eb814f2f'/>
<id>7414acf5f97c0be1fec0504a61624be3eb814f2f</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>write_tree: use shared buffer for writing trees</title>
<updated>2016-12-12T15:46:05+00:00</updated>
<author>
<name>Michael Tesch</name>
<email>mitesch@microsoft.com</email>
</author>
<published>2016-08-09T16:23:19+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=87aaefe20b2e2fad8f0b8b236d1c23ce9ec5340f'/>
<id>87aaefe20b2e2fad8f0b8b236d1c23ce9ec5340f</id>
<content type='text'>
The function to write trees allocates a new buffer for each tree.
This causes problems with performance when performing a lot
of actions involving writing trees, e.g. when doing many merges.
Fix the issue by instead handing in a shared buffer, which is then
re-used across the calls without having to re-allocate between
calls.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The function to write trees allocates a new buffer for each tree.
This causes problems with performance when performing a lot
of actions involving writing trees, e.g. when doing many merges.
Fix the issue by instead handing in a shared buffer, which is then
re-used across the calls without having to re-allocate between
calls.
</pre>
</div>
</content>
</entry>
<entry>
<title>Introduce a function to create a tree based on a different one</title>
<updated>2016-05-17T15:41:05+00:00</updated>
<author>
<name>Carlos Martín Nieto</name>
<email>cmn@dwim.me</email>
</author>
<published>2016-05-02T15:36:58+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=9464f9ebc1794314421353e10eeddfa8a950f7ab'/>
<id>9464f9ebc1794314421353e10eeddfa8a950f7ab</id>
<content type='text'>
Instead of going through the usual steps of reading a tree recursively
into an index, modifying it and writing it back out as a tree, introduce
a function to perform simple updates more efficiently.

`git_tree_create_updated` avoids reading trees which are not modified
and supports upsert and delete operations. It is not as versatile as
modifying the index, but it makes some common operations much more
efficient.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Instead of going through the usual steps of reading a tree recursively
into an index, modifying it and writing it back out as a tree, introduce
a function to perform simple updates more efficiently.

`git_tree_create_updated` avoids reading trees which are not modified
and supports upsert and delete operations. It is not as versatile as
modifying the index, but it makes some common operations much more
efficient.
</pre>
</div>
</content>
</entry>
<entry>
<title>git_object_dup: introduce typesafe versions</title>
<updated>2016-03-23T21:08:37+00:00</updated>
<author>
<name>Edward Thomson</name>
<email>ethomson@github.com</email>
</author>
<published>2016-02-17T18:04:19+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=f0224772ee4300d55e11ab6f84cb3dd64b35ecfd'/>
<id>f0224772ee4300d55e11ab6f84cb3dd64b35ecfd</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>treebuilder: rename _create() to _new()</title>
<updated>2014-12-27T12:09:11+00:00</updated>
<author>
<name>Carlos Martín Nieto</name>
<email>cmn@dwim.me</email>
</author>
<published>2014-12-27T12:09:11+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=208a2c8aef59a842d1bec1e6bc83340b1c22c13f'/>
<id>208a2c8aef59a842d1bec1e6bc83340b1c22c13f</id>
<content type='text'>
This function is a constructor, so let's name it like one and leave
_create() for the reference functions, which do create/write the
reference.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This function is a constructor, so let's name it like one and leave
_create() for the reference functions, which do create/write the
reference.
</pre>
</div>
</content>
</entry>
<entry>
<title>treebuilder: take a repository for path validation</title>
<updated>2014-12-17T18:05:27+00:00</updated>
<author>
<name>Edward Thomson</name>
<email>ethomson@microsoft.com</email>
</author>
<published>2014-12-17T01:24:04+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=dce7b1a4e75551804a33591744d40d0582c57cfb'/>
<id>dce7b1a4e75551804a33591744d40d0582c57cfb</id>
<content type='text'>
Path validation may be influenced by `core.protectHFS` and
`core.protectNTFS` configuration settings, thus treebuilders
can take a repository to influence their configuration.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Path validation may be influenced by `core.protectHFS` and
`core.protectNTFS` configuration settings, thus treebuilders
can take a repository to influence their configuration.
</pre>
</div>
</content>
</entry>
<entry>
<title>treebuilder: don't keep removed entries around</title>
<updated>2014-06-10T13:14:13+00:00</updated>
<author>
<name>Carlos Martín Nieto</name>
<email>cmn@dwim.me</email>
</author>
<published>2014-06-09T20:45:23+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=978fbb4c345e944004e5a2aede17cdd17ab75356'/>
<id>978fbb4c345e944004e5a2aede17cdd17ab75356</id>
<content type='text'>
If the user wants to keep a copy for themselves, they should make a
copy. It adds unnecessary complexity to make sure the returned entries
are valid until the builder is cleared.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If the user wants to keep a copy for themselves, they should make a
copy. It adds unnecessary complexity to make sure the returned entries
are valid until the builder is cleared.
</pre>
</div>
</content>
</entry>
<entry>
<title>treebuilder: use a map instead of vector to store the entries</title>
<updated>2014-06-10T13:14:13+00:00</updated>
<author>
<name>Carlos Martín Nieto</name>
<email>cmn@dwim.me</email>
</author>
<published>2014-06-09T02:38:22+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=4d3f1f97404b01cd00ad5b2f47f64672d787e901'/>
<id>4d3f1f97404b01cd00ad5b2f47f64672d787e901</id>
<content type='text'>
Finding a filename in a vector means we need to resort it every time we
want to read from it, which includes every time we want to write to it
as well, as we want to find duplicate keys.

A hash-map fits what we want to do much more accurately, as we do not
care about sorting, but just the particular filename.

We still keep removed entries around, as the interface let you assume
they were going to be around until the treebuilder is cleared or freed,
but in this case that involves an append to a vector in the filter case,
which can now fail.

The only time we care about sorting is when we write out the tree, so
let's make that the only time we do any sorting.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Finding a filename in a vector means we need to resort it every time we
want to read from it, which includes every time we want to write to it
as well, as we want to find duplicate keys.

A hash-map fits what we want to do much more accurately, as we do not
care about sorting, but just the particular filename.

We still keep removed entries around, as the interface let you assume
they were going to be around until the treebuilder is cleared or freed,
but in this case that involves an append to a vector in the filter case,
which can now fail.

The only time we care about sorting is when we write out the tree, so
let's make that the only time we do any sorting.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fixed miscellaneous documentation errors.</title>
<updated>2014-05-23T07:57:20+00:00</updated>
<author>
<name>Michael Anderson</name>
<email>drmikeando@gmail.com</email>
</author>
<published>2014-05-22T09:16:21+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=31b0cb518f11d4ec8a95df54d077d51b05fa899c'/>
<id>31b0cb518f11d4ec8a95df54d077d51b05fa899c</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>tree: remove legacy 'oid' naming</title>
<updated>2014-01-25T07:15:44+00:00</updated>
<author>
<name>Carlos Martín Nieto</name>
<email>cmn@dwim.me</email>
</author>
<published>2014-01-24T17:23:46+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=f000ee4e5b840e9f110123a050777fb1301b19bf'/>
<id>f000ee4e5b840e9f110123a050777fb1301b19bf</id>
<content type='text'>
Rename git_tree_entry_byoid() to _byid() as per the convention.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Rename git_tree_entry_byoid() to _byid() as per the convention.
</pre>
</div>
</content>
</entry>
</feed>
