<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/libgit2.git/tests/index/racy.c, branch cmn/https-cap-no-hardcode</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::racy: force racy entry</title>
<updated>2016-03-08T05:47:55+00:00</updated>
<author>
<name>Edward Thomson</name>
<email>ethomson@github.com</email>
</author>
<published>2016-03-07T22:37:17+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=53fb823bcc4d9206a768024026b7146cb4e1e507'/>
<id>53fb823bcc4d9206a768024026b7146cb4e1e507</id>
<content type='text'>
Instead of hoping that we can get a racy entry by going real fast
and praying real hard, just create a racy entry.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Instead of hoping that we can get a racy entry by going real fast
and praying real hard, just create a racy entry.
</pre>
</div>
</content>
</entry>
<entry>
<title>tests: use legitimate object ids</title>
<updated>2016-02-28T23:54:56+00:00</updated>
<author>
<name>Edward Thomson</name>
<email>ethomson@github.com</email>
</author>
<published>2016-02-28T21:02:49+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=4afe536ba1c909ff8ab8d1b75997d3897b72571b'/>
<id>4afe536ba1c909ff8ab8d1b75997d3897b72571b</id>
<content type='text'>
Use legitimate (existing) object IDs in tests so that we have the
ability to turn on strict object validation when running tests.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Use legitimate (existing) object IDs in tests so that we have the
ability to turn on strict object validation when running tests.
</pre>
</div>
</content>
</entry>
<entry>
<title>win32: introduce p_timeval that isn't stupid</title>
<updated>2016-02-12T18:34:15+00:00</updated>
<author>
<name>Edward Thomson</name>
<email>ethomson@github.com</email>
</author>
<published>2016-02-11T20:24:21+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=35439f5997c41d0c50d58997c2167ee93aad6c30'/>
<id>35439f5997c41d0c50d58997c2167ee93aad6c30</id>
<content type='text'>
Windows defines `timeval` with `long`, which we cannot
sanely cope with.  Instead, use a custom timeval struct.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Windows defines `timeval` with `long`, which we cannot
sanely cope with.  Instead, use a custom timeval struct.
</pre>
</div>
</content>
</entry>
<entry>
<title>typos in comments</title>
<updated>2015-12-21T19:18:07+00:00</updated>
<author>
<name>Dmitriy Olshevskiy</name>
<email>olshevskiy87@bk.ru</email>
</author>
<published>2015-12-21T17:49:14+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=91f0d186b4efee8ccd5d0bbedf6b806a4f5e2a3a'/>
<id>91f0d186b4efee8ccd5d0bbedf6b806a4f5e2a3a</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>tests: fix warning for nested struct initialization</title>
<updated>2015-11-30T16:40:49+00:00</updated>
<author>
<name>Patrick Steinhardt</name>
<email>ps@pks.im</email>
</author>
<published>2015-11-30T16:40:49+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=a7bd157ebfcfd517b65e0ddc017286f61bc8b218'/>
<id>a7bd157ebfcfd517b65e0ddc017286f61bc8b218</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix some warnings</title>
<updated>2015-11-20T18:48:51+00:00</updated>
<author>
<name>Jacques Germishuys</name>
<email>jacquesg@striata.com</email>
</author>
<published>2015-11-20T18:48:51+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=87428c556f36066040a79ffab416939a0ff9bae1'/>
<id>87428c556f36066040a79ffab416939a0ff9bae1</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>racy: make git_index_read_index handle raciness</title>
<updated>2015-11-17T03:59:02+00:00</updated>
<author>
<name>Edward Thomson</name>
<email>ethomson@microsoft.com</email>
</author>
<published>2015-11-16T23:06:52+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=5f32c50683cefaf51fa4f8825abfe533f36fe6f3'/>
<id>5f32c50683cefaf51fa4f8825abfe533f36fe6f3</id>
<content type='text'>
Ensure that `git_index_read_index` clears the uptodate bit on
files that it modifies.

Further, do not propagate the cache from an on-disk index into
another on-disk index.  Although this should not be done, as
`git_index_read_index` is used to bring an in-memory index into
another index (that may or may not be on-disk), ensure that we do
not accidentally bring in these bits when misused.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Ensure that `git_index_read_index` clears the uptodate bit on
files that it modifies.

Further, do not propagate the cache from an on-disk index into
another on-disk index.  Although this should not be done, as
`git_index_read_index` is used to bring an in-memory index into
another index (that may or may not be on-disk), ensure that we do
not accidentally bring in these bits when misused.
</pre>
</div>
</content>
</entry>
<entry>
<title>racy: ensure git_index_read_tree clears uptodate</title>
<updated>2015-11-17T03:59:01+00:00</updated>
<author>
<name>Edward Thomson</name>
<email>ethomson@microsoft.com</email>
</author>
<published>2015-11-16T23:05:46+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=c30051f0d0fd6ff74d6e2fbe0fc5b0209ecf8b85'/>
<id>c30051f0d0fd6ff74d6e2fbe0fc5b0209ecf8b85</id>
<content type='text'>
Ensure that `git_index_read_tree` clears the uptodate bit on files
that it modifies.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Ensure that `git_index_read_tree` clears the uptodate bit on files
that it modifies.
</pre>
</div>
</content>
</entry>
<entry>
<title>index: test for smudged entries on write only</title>
<updated>2015-11-17T03:58:59+00:00</updated>
<author>
<name>Edward Thomson</name>
<email>ethomson@microsoft.com</email>
</author>
<published>2015-11-13T21:30:39+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=956f4da897aa0eec3f66f00cb7a4a47914c24059'/>
<id>956f4da897aa0eec3f66f00cb7a4a47914c24059</id>
<content type='text'>
Test that entries are only smudged when we write the index: the
entry smudging is to prevent us from updating an index in a way
that it would be impossible to tell that an item was racy.
Consider when we load an index:  any entries that have the same
(or newer) timestamp than the index itself are considered racy,
and are subject to further scrutiny.

If we *save* that index with the same entries that we loaded,
then the index would now have a newer timestamp than the entries,
and they would no longer be given that additional scrutiny, failing
our racy detection!  So test that we smudge those entries only on
writing the new index, but that we can detect them (in diff) without
having to write.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Test that entries are only smudged when we write the index: the
entry smudging is to prevent us from updating an index in a way
that it would be impossible to tell that an item was racy.
Consider when we load an index:  any entries that have the same
(or newer) timestamp than the index itself are considered racy,
and are subject to further scrutiny.

If we *save* that index with the same entries that we loaded,
then the index would now have a newer timestamp than the entries,
and they would no longer be given that additional scrutiny, failing
our racy detection!  So test that we smudge those entries only on
writing the new index, but that we can detect them (in diff) without
having to write.
</pre>
</div>
</content>
</entry>
<entry>
<title>index: don't detect raciness in uptodate entries</title>
<updated>2015-11-17T03:58:58+00:00</updated>
<author>
<name>Edward Thomson</name>
<email>ethomson@microsoft.com</email>
</author>
<published>2015-11-13T20:32:48+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=d1101263f751a33d70ec585da908bec938f587fd'/>
<id>d1101263f751a33d70ec585da908bec938f587fd</id>
<content type='text'>
Keep track of entries that we believe are up-to-date, because we
added the index entries since the index was loaded.  This prevents
us from unnecessarily examining files that we wrote during the
cleanup of racy entries (when we smudge racily clean files that have
a timestamp newer than or equal to the index's timestamp when we
read it).  Without keeping track of this, we would examine every
file that we just checked out for raciness, since all their timestamps
would be newer than the index's timestamp.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Keep track of entries that we believe are up-to-date, because we
added the index entries since the index was loaded.  This prevents
us from unnecessarily examining files that we wrote during the
cleanup of racy entries (when we smudge racily clean files that have
a timestamp newer than or equal to the index's timestamp when we
read it).  Without keeping track of this, we would examine every
file that we just checked out for raciness, since all their timestamps
would be newer than the index's timestamp.
</pre>
</div>
</content>
</entry>
</feed>
