<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/libgit2.git/include/git2/sys/config.h, 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>Merge pull request #2188 from libgit2/cmn/config-snapshot</title>
<updated>2014-05-12T17:04:52+00:00</updated>
<author>
<name>Russell Belfer</name>
<email>rb@github.com</email>
</author>
<published>2014-05-12T17:04:52+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=d2c4d1c63d9d5456fcf2cdcd578073d9e7dadc2a'/>
<id>d2c4d1c63d9d5456fcf2cdcd578073d9e7dadc2a</id>
<content type='text'>
Configuration snapshotting</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Configuration snapshotting</pre>
</div>
</content>
</entry>
<entry>
<title>Fix remaining init_options inconsistencies</title>
<updated>2014-05-02T16:21:33+00:00</updated>
<author>
<name>Russell Belfer</name>
<email>rb@github.com</email>
</author>
<published>2014-04-30T18:16:31+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=bc91347b5894c98964a12c6637d5ca91d9723b42'/>
<id>bc91347b5894c98964a12c6637d5ca91d9723b42</id>
<content type='text'>
There were a couple of "init_opts()" functions a few more cases
of structure initialization that I somehow missed.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
There were a couple of "init_opts()" functions a few more cases
of structure initialization that I somehow missed.
</pre>
</div>
</content>
</entry>
<entry>
<title>config: refresh before reading a value</title>
<updated>2014-04-18T14:07:33+00:00</updated>
<author>
<name>Carlos Martín Nieto</name>
<email>cmn@dwim.me</email>
</author>
<published>2014-03-31T07:58:44+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=523032cd24e5b238752394bd1b691a3e28ba321e'/>
<id>523032cd24e5b238752394bd1b691a3e28ba321e</id>
<content type='text'>
With the isolation of complex reads, we can now try to refresh the
on-disk file before reading a value from it.

This changes the semantics a bit, as before we could be sure that a
string we got from the configuration was valid until we wrote or
refreshed. This is no longer the case, as a read can also invalidate the
pointer.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
With the isolation of complex reads, we can now try to refresh the
on-disk file before reading a value from it.

This changes the semantics a bit, as before we could be sure that a
string we got from the configuration was valid until we wrote or
refreshed. This is no longer the case, as a read can also invalidate the
pointer.
</pre>
</div>
</content>
</entry>
<entry>
<title>config: implement config snapshotting</title>
<updated>2014-04-18T14:03:01+00:00</updated>
<author>
<name>Carlos Martín Nieto</name>
<email>cmn@dwim.me</email>
</author>
<published>2014-03-13T16:11:34+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=55ebd7d369a789f27fe1ad6b8ec8965aa1335d08'/>
<id>55ebd7d369a789f27fe1ad6b8ec8965aa1335d08</id>
<content type='text'>
In order to have consistent views of the config files for remotes,
submodules et al. and a configuration that represents what is currently
stored on-disk, we need a way to provide a view of the configuration
that does not change.

The goal here is to provide the snapshotting part by creating a
read-only copy of the state of the configuration at a particular point
in time, which does not change when a repository's main config changes.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In order to have consistent views of the config files for remotes,
submodules et al. and a configuration that represents what is currently
stored on-disk, we need a way to provide a view of the configuration
that does not change.

The goal here is to provide the snapshotting part by creating a
read-only copy of the state of the configuration at a particular point
in time, which does not change when a repository's main config changes.
</pre>
</div>
</content>
</entry>
<entry>
<title>Added function-based initializers for every options struct.</title>
<updated>2014-03-06T02:49:23+00:00</updated>
<author>
<name>Matthew Bowen</name>
<email>matthew@mgbowen.com</email>
</author>
<published>2014-03-06T02:49:23+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=b9f819978c571cc806827e8b3ebc1a58a0755999'/>
<id>b9f819978c571cc806827e8b3ebc1a58a0755999</id>
<content type='text'>
The basic structure of each function is courtesy of arrbee.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The basic structure of each function is courtesy of arrbee.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix saving remotes with several fetch/push ref specs.</title>
<updated>2013-10-31T23:08:52+00:00</updated>
<author>
<name>Daniel Rodríguez Troitiño</name>
<email>drodrigueztroitino@yahoo.es</email>
</author>
<published>2013-10-31T00:08:50+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=3793fa9b181f3595c24a1cc517646f8e7a4a7175'/>
<id>3793fa9b181f3595c24a1cc517646f8e7a4a7175</id>
<content type='text'>
At some moment git_config_delete_entry lost the ability to delete one entry of
a multivar configuration. The moment you had more than one fetch or push
ref spec for a remote you will not be able to save that remote anymore. The
changes in network::remote::remotes::save show that problem.

I needed to create a new git_config_delete_multivar because I was not able to
remove one or several entries of a multivar config with the current API.
Several tries modifying how git_config_set_multivar(..., NULL) behaved were
not successful.

git_config_delete_multivar is very similar to git_config_set_multivar, and
delegates into config_delete_multivar of config_file. This function search
for the cvar_t that will be deleted, storing them in a temporal array, and
rebuilding the linked list. After calling config_write to delete the entries,
the cvar_t stored in the temporal array are freed.

There is a little fix in config_write, it avoids an infinite loop when using
a regular expression (case for the multivars). This error was found by the
test network::remote::remotes::tagopt.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
At some moment git_config_delete_entry lost the ability to delete one entry of
a multivar configuration. The moment you had more than one fetch or push
ref spec for a remote you will not be able to save that remote anymore. The
changes in network::remote::remotes::save show that problem.

I needed to create a new git_config_delete_multivar because I was not able to
remove one or several entries of a multivar config with the current API.
Several tries modifying how git_config_set_multivar(..., NULL) behaved were
not successful.

git_config_delete_multivar is very similar to git_config_set_multivar, and
delegates into config_delete_multivar of config_file. This function search
for the cvar_t that will be deleted, storing them in a temporal array, and
rebuilding the linked list. After calling config_write to delete the entries,
the cvar_t stored in the temporal array are freed.

There is a little fix in config_write, it avoids an infinite loop when using
a regular expression (case for the multivars). This error was found by the
test network::remote::remotes::tagopt.
</pre>
</div>
</content>
</entry>
<entry>
<title>config: don't special-case the multivar iterator</title>
<updated>2013-08-13T22:45:05+00:00</updated>
<author>
<name>Carlos Martín Nieto</name>
<email>cmn@dwim.me</email>
</author>
<published>2013-08-13T22:45:05+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=f4be8209afd3cc996667196a1e437aac21485691'/>
<id>f4be8209afd3cc996667196a1e437aac21485691</id>
<content type='text'>
Build it on top of the normal iterator instead, which lets use re-use
a lot of code.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Build it on top of the normal iterator instead, which lets use re-use
a lot of code.
</pre>
</div>
</content>
</entry>
<entry>
<title>config: working multivar iterator</title>
<updated>2013-08-08T18:38:42+00:00</updated>
<author>
<name>Carlos Martín Nieto</name>
<email>cmn@dwim.me</email>
</author>
<published>2013-08-08T15:57:59+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=99dfb538addc06c2f40d29371c52dd43f0d6ceb1'/>
<id>99dfb538addc06c2f40d29371c52dd43f0d6ceb1</id>
<content type='text'>
Implement the foreach version as a wrapper around the iterator.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Implement the foreach version as a wrapper around the iterator.
</pre>
</div>
</content>
</entry>
<entry>
<title>config: hopefully get the iterator to work on multivars</title>
<updated>2013-08-08T14:59:39+00:00</updated>
<author>
<name>Carlos Martín Nieto</name>
<email>cmn@dwim.me</email>
</author>
<published>2013-08-08T14:59:39+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=cca5df6376fd41fb4fbbb9f8a9ff87c38079dfd5'/>
<id>cca5df6376fd41fb4fbbb9f8a9ff87c38079dfd5</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>config: initial multivar iterator</title>
<updated>2013-08-08T14:18:07+00:00</updated>
<author>
<name>Carlos Martín Nieto</name>
<email>cmn@dwim.me</email>
</author>
<published>2013-08-08T14:18:07+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=3a7ffc29c9416c5d182835c7f18c04437366f218'/>
<id>3a7ffc29c9416c5d182835c7f18c04437366f218</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
