<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/libgit2.git/src/config_file.c, branch cmn/https-cap-no-hardcode</title>
<subtitle>github.com: libgit2/libgit2.git
</subtitle>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/libgit2.git/'/>
<entry>
<title>Make sure we use the `C` locale for `regcomp` on macOS.</title>
<updated>2016-10-06T11:15:31+00:00</updated>
<author>
<name>Arthur Schreiber</name>
<email>arthurschreiber@github.com</email>
</author>
<published>2016-10-06T11:15:31+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/libgit2.git/commit/?id=ab96ca5572f1aae6bc7f889fbd46f56fc959ba2b'/>
<id>ab96ca5572f1aae6bc7f889fbd46f56fc959ba2b</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge pull request #3712 from ethomson/config_duplicate_section</title>
<updated>2016-03-29T10:26:43+00:00</updated>
<author>
<name>Carlos Martín Nieto</name>
<email>carlosmn@github.com</email>
</author>
<published>2016-03-29T10:26:43+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/libgit2.git/commit/?id=2f0450f4d635358f6da5d174c128b9ed1059bbf8'/>
<id>2f0450f4d635358f6da5d174c128b9ed1059bbf8</id>
<content type='text'>
config: don't write duplicate section</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
config: don't write duplicate section</pre>
</div>
</content>
</entry>
<entry>
<title>config: don't write section header if we're in it</title>
<updated>2016-03-28T15:13:51+00:00</updated>
<author>
<name>Edward Thomson</name>
<email>ethomson@github.com</email>
</author>
<published>2016-03-28T15:13:51+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/libgit2.git/commit/?id=e25e1ca1b24a2cb0f7c10f9ff6723283b06e4f22'/>
<id>e25e1ca1b24a2cb0f7c10f9ff6723283b06e4f22</id>
<content type='text'>
If we hit the EOF while trying to write a new value, it may be that
we're already in the section that we were looking for.  If so, do not
write a (duplicate) section header, just write the value.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If we hit the EOF while trying to write a new value, it may be that
we're already in the section that we were looking for.  If so, do not
write a (duplicate) section header, just write the value.
</pre>
</div>
</content>
</entry>
<entry>
<title>config: don't special-case multivars that don't exist yet</title>
<updated>2016-03-21T21:25:12+00:00</updated>
<author>
<name>Carlos Martín Nieto</name>
<email>cmn@dwim.me</email>
</author>
<published>2016-03-21T20:10:26+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/libgit2.git/commit/?id=6f09911c0f50b32a89953b163f8fe249c8c83746'/>
<id>6f09911c0f50b32a89953b163f8fe249c8c83746</id>
<content type='text'>
This special-casing ignores that we might have a locked file, so the
hashtable does not represent the contents of the file we want to
write. This causes multivar writes to overwrite entries instead of add
to them when under lock.

There is no need for this as the normal code-path will write to the file
just fine, so simply get rid of it.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This special-casing ignores that we might have a locked file, so the
hashtable does not represent the contents of the file we want to
write. This causes multivar writes to overwrite entries instead of add
to them when under lock.

There is no need for this as the normal code-path will write to the file
just fine, so simply get rid of it.
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge pull request #3677 from pks-t/pks/coverity-fixes-round7</title>
<updated>2016-03-14T18:15:20+00:00</updated>
<author>
<name>Carlos Martín Nieto</name>
<email>carlosmn@github.com</email>
</author>
<published>2016-03-14T18:15:20+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/libgit2.git/commit/?id=77394a27af283b366fa8bb444d29670131bfa104'/>
<id>77394a27af283b366fa8bb444d29670131bfa104</id>
<content type='text'>
Coverity fixes round 7</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Coverity fixes round 7</pre>
</div>
</content>
</entry>
<entry>
<title>config_file: handle error when trying to lock strmap</title>
<updated>2016-03-11T13:20:15+00:00</updated>
<author>
<name>Patrick Steinhardt</name>
<email>ps@pks.im</email>
</author>
<published>2016-03-10T15:52:09+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/libgit2.git/commit/?id=836447e586f275a1f0b32860805f69ad6867ec32'/>
<id>836447e586f275a1f0b32860805f69ad6867ec32</id>
<content type='text'>
Accessing the current values map is handled through the
`refcounder_strmap_take` function, which first acquires a mutex
before accessing its values. While this assures everybody is
trying to access the values with the mutex only we do not check
if the locking actually succeeds.

Fix the issue by checking if acquiring the lock succeeds and
returning `NULL` if we encounter an error. Adjust callers.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Accessing the current values map is handled through the
`refcounder_strmap_take` function, which first acquires a mutex
before accessing its values. While this assures everybody is
trying to access the values with the mutex only we do not check
if the locking actually succeeds.

Fix the issue by checking if acquiring the lock succeeds and
returning `NULL` if we encounter an error. Adjust callers.
</pre>
</div>
</content>
</entry>
<entry>
<title>config_file: handle missing quotation marks in section header</title>
<updated>2016-03-10T09:28:33+00:00</updated>
<author>
<name>Patrick Steinhardt</name>
<email>ps@pks.im</email>
</author>
<published>2016-03-01T13:40:17+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/libgit2.git/commit/?id=e126bc95cd296767ae6c372abb3d4c87ca359a57'/>
<id>e126bc95cd296767ae6c372abb3d4c87ca359a57</id>
<content type='text'>
When parsing a section header we expect something along the
format of '[section "subsection"]'. When a section is
mal-formated and is entirely missing its quotation marks we catch
this case by observing that `strchr(line, '"') - strrchr(line,
'"') = NULL - NULL = 0` and error out. Unfortunately, the error
message is misleading though, as we state that we are missing the
closing quotation mark while we in fact miss both quotation
marks.

Improve the error message by explicitly checking if the first
quotation mark could be found and, if not, stating that quotation
marks are completely missing.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When parsing a section header we expect something along the
format of '[section "subsection"]'. When a section is
mal-formated and is entirely missing its quotation marks we catch
this case by observing that `strchr(line, '"') - strrchr(line,
'"') = NULL - NULL = 0` and error out. Unfortunately, the error
message is misleading though, as we state that we are missing the
closing quotation mark while we in fact miss both quotation
marks.

Improve the error message by explicitly checking if the first
quotation mark could be found and, if not, stating that quotation
marks are completely missing.
</pre>
</div>
</content>
</entry>
<entry>
<title>filebuf: use a checksum to detect file changes</title>
<updated>2015-10-30T18:49:35+00:00</updated>
<author>
<name>Carlos Martín Nieto</name>
<email>cmn@dwim.me</email>
</author>
<published>2015-10-29T20:12:37+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/libgit2.git/commit/?id=eb5977991a75f8d1630348a529805ba40765a616'/>
<id>eb5977991a75f8d1630348a529805ba40765a616</id>
<content type='text'>
Instead of relying on the size and timestamp, which can hide changes
performed in the same second, hash the file content's when we care about
detecting changes.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Instead of relying on the size and timestamp, which can hide changes
performed in the same second, hash the file content's when we care about
detecting changes.
</pre>
</div>
</content>
</entry>
<entry>
<title>config: buffer comments to match git's variable-adding</title>
<updated>2015-09-18T10:28:05+00:00</updated>
<author>
<name>Carlos Martín Nieto</name>
<email>cmn@dwim.me</email>
</author>
<published>2015-09-18T10:28:05+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/libgit2.git/commit/?id=cd677b8fe0ff6d843d4733b1a08a5bcff89e4f46'/>
<id>cd677b8fe0ff6d843d4733b1a08a5bcff89e4f46</id>
<content type='text'>
When there is a comment at the end of a section, git keeps it there,
while we write the new variable right at the end.

Keep comments buffered and dump them when we're going to output a
variable or section, or reach EOF. This puts us in line with the config
files which git produces.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When there is a comment at the end of a section, git keeps it there,
while we write the new variable right at the end.

Keep comments buffered and dump them when we're going to output a
variable or section, or reach EOF. This puts us in line with the config
files which git produces.
</pre>
</div>
</content>
</entry>
<entry>
<title>config: implement basic transactional support</title>
<updated>2015-08-12T02:09:09+00:00</updated>
<author>
<name>Carlos Martín Nieto</name>
<email>cmn@dwim.me</email>
</author>
<published>2015-06-01T17:17:03+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/libgit2.git/commit/?id=b1667039640ba3464ea0e2d13ad28c9244d80b4d'/>
<id>b1667039640ba3464ea0e2d13ad28c9244d80b4d</id>
<content type='text'>
When a configuration file is locked, any updates made to it will be done
to the in-memory copy of the file. This allows for multiple updates to
happen while we hold the lock, preventing races during complex
config-file manipulation.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When a configuration file is locked, any updates made to it will be done
to the in-memory copy of the file. This allows for multiple updates to
happen while we hold the lock, preventing races during complex
config-file manipulation.
</pre>
</div>
</content>
</entry>
</feed>
