<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/libgit2.git/src/attr.c, branch cmn/peeling-errors</title>
<subtitle>github.com: libgit2/libgit2.git
</subtitle>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/libgit2.git/'/>
<entry>
<title>Style</title>
<updated>2014-09-17T13:24:56+00:00</updated>
<author>
<name>The rugged tests are fragile</name>
<email>tanoku@gmail.com</email>
</author>
<published>2014-09-17T13:24:56+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/libgit2.git/commit/?id=4e9641174884f5d81b7c12784b49c7c830116fe1'/>
<id>4e9641174884f5d81b7c12784b49c7c830116fe1</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>attr: Do not walk path if we're at the root</title>
<updated>2014-09-17T13:24:17+00:00</updated>
<author>
<name>The rugged tests are fragile</name>
<email>tanoku@gmail.com</email>
</author>
<published>2014-09-17T13:23:17+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/libgit2.git/commit/?id=a2b4407dc3d4e1ecc5b908c3fff56dc207c7c4e6'/>
<id>a2b4407dc3d4e1ecc5b908c3fff56dc207c7c4e6</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>path: Fix `git_path_walk_up` to work with non-rooted paths</title>
<updated>2014-09-17T13:00:12+00:00</updated>
<author>
<name>The rugged tests are fragile</name>
<email>tanoku@gmail.com</email>
</author>
<published>2014-09-17T12:52:31+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/libgit2.git/commit/?id=bbb988a5190be2a8763c60cb37c52466a39f6441'/>
<id>bbb988a5190be2a8763c60cb37c52466a39f6441</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>attr: Cleanup the containing dir logic</title>
<updated>2014-09-16T11:20:58+00:00</updated>
<author>
<name>The rugged tests are fragile</name>
<email>tanoku@gmail.com</email>
</author>
<published>2014-09-16T11:20:58+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/libgit2.git/commit/?id=52e9120c777fba582a468323d2b94155a071f5ea'/>
<id>52e9120c777fba582a468323d2b94155a071f5ea</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix attribute lookup in index for bare repos</title>
<updated>2014-09-16T04:59:23+00:00</updated>
<author>
<name>Russell Belfer</name>
<email>rb@github.com</email>
</author>
<published>2014-09-16T04:59:23+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/libgit2.git/commit/?id=1fbeb2f04c9a81a0fcacee5042d9e12a1e90052b'/>
<id>1fbeb2f04c9a81a0fcacee5042d9e12a1e90052b</id>
<content type='text'>
When using a bare repo with an index, libgit2 attempts to read
files from the index.  It caches those files based on the path
to the file, specifically the path to the directory that contains
the file.

If there is no working directory, we use `git_path_dirname_r` to
get the path to the containing directory.  However, for the
`.gitattributes` file in the root of the repository, this ends up
normalizing the containing path to `"."` instead of the empty
string and the lookup the `.gitattributes` data fails.

This adds a test of attribute lookups on bare repos and also
fixes the problem by simply rewriting `"."` to be `""`.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When using a bare repo with an index, libgit2 attempts to read
files from the index.  It caches those files based on the path
to the file, specifically the path to the directory that contains
the file.

If there is no working directory, we use `git_path_dirname_r` to
get the path to the containing directory.  However, for the
`.gitattributes` file in the root of the repository, this ends up
normalizing the containing path to `"."` instead of the empty
string and the lookup the `.gitattributes` data fails.

This adds a test of attribute lookups on bare repos and also
fixes the problem by simply rewriting `"."` to be `""`.
</pre>
</div>
</content>
</entry>
<entry>
<title>Minor fixes</title>
<updated>2014-04-18T22:45:59+00:00</updated>
<author>
<name>Russell Belfer</name>
<email>rb@github.com</email>
</author>
<published>2014-04-18T22:45:59+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/libgit2.git/commit/?id=ac16bd0a94e1f7254112c7585b843bdc2d0659c1'/>
<id>ac16bd0a94e1f7254112c7585b843bdc2d0659c1</id>
<content type='text'>
Only apply LEADING_DIR pattern munging to patterns in ignore and
attribute files, not to pathspecs used to select files to operate
on.  Also, allow internal macro definitions to be evaluated before
loading all external ones (important so that external ones can
make use of internal `binary` definition).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Only apply LEADING_DIR pattern munging to patterns in ignore and
attribute files, not to pathspecs used to select files to operate
on.  Also, allow internal macro definitions to be evaluated before
loading all external ones (important so that external ones can
make use of internal `binary` definition).
</pre>
</div>
</content>
</entry>
<entry>
<title>Preload attribute files that may contain macros</title>
<updated>2014-04-18T21:29:58+00:00</updated>
<author>
<name>Russell Belfer</name>
<email>rb@github.com</email>
</author>
<published>2014-04-18T21:29:58+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/libgit2.git/commit/?id=e3a2a04ceff1d3657629fd6a7245d9a9fc53f24b'/>
<id>e3a2a04ceff1d3657629fd6a7245d9a9fc53f24b</id>
<content type='text'>
There was a latent bug where files that use macro definitions
could be parsed before the macro definitions were loaded.  Because
of attribute file caching, preloading files that are going to be
used doesn't add a significant amount of overhead, so let's always
preload any files that could contain macros before we assemble the
actual vector of files to scan for attributes.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
There was a latent bug where files that use macro definitions
could be parsed before the macro definitions were loaded.  Because
of attribute file caching, preloading files that are going to be
used doesn't add a significant amount of overhead, so let's always
preload any files that could contain macros before we assemble the
actual vector of files to scan for attributes.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix broken logic for attr cache invalidation</title>
<updated>2014-04-17T22:04:41+00:00</updated>
<author>
<name>Russell Belfer</name>
<email>rb@github.com</email>
</author>
<published>2014-04-17T18:53:13+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/libgit2.git/commit/?id=823c0e9cc142529912976f2e6abff3db456cb204'/>
<id>823c0e9cc142529912976f2e6abff3db456cb204</id>
<content type='text'>
The checks to see if files were out of date in the attibute cache
was wrong because the cache-breaker data wasn't getting stored
correctly.  Additionally, when the cache-breaker triggered, the
old file data was being leaked.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The checks to see if files were out of date in the attibute cache
was wrong because the cache-breaker data wasn't getting stored
correctly.  Additionally, when the cache-breaker triggered, the
old file data was being leaked.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix tests with new attr cache code</title>
<updated>2014-04-17T21:56:41+00:00</updated>
<author>
<name>Russell Belfer</name>
<email>rb@github.com</email>
</author>
<published>2014-04-11T19:12:47+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/libgit2.git/commit/?id=2e9d813bd69ab014b970a75b5a4f7d24f241cc05'/>
<id>2e9d813bd69ab014b970a75b5a4f7d24f241cc05</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Attribute file cache refactor</title>
<updated>2014-04-17T21:56:41+00:00</updated>
<author>
<name>Russell Belfer</name>
<email>rb@github.com</email>
</author>
<published>2014-04-11T05:31:01+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/libgit2.git/commit/?id=7d4908724fd7d4d8e096b4faf2c652ba5b77644e'/>
<id>7d4908724fd7d4d8e096b4faf2c652ba5b77644e</id>
<content type='text'>
This is a big refactoring of the attribute file cache to be a bit
simpler which in turn makes it easier to enforce a lock around any
updates to the cache so that it can be used in a threaded env.
Tons of changes to the attributes and ignores code.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is a big refactoring of the attribute file cache to be a bit
simpler which in turn makes it easier to enforce a lock around any
updates to the cache so that it can be used in a threaded env.
Tons of changes to the attributes and ignores code.
</pre>
</div>
</content>
</entry>
</feed>
