<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/gitano/libgit2.git/src/attr_file.h, branch fixups</title>
<subtitle>git.gitano.org.uk: libgit2.git
</subtitle>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/gitano/libgit2.git/'/>
<entry>
<title>attr: Do not export variables externally</title>
<updated>2012-08-01T23:15:24+00:00</updated>
<author>
<name>Vicent Marti</name>
<email>tanoku@gmail.com</email>
</author>
<published>2012-08-01T23:15:24+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/gitano/libgit2.git/commit/?id=0c9eacf3d2c83256736a5bb2a240e73afd13d55f'/>
<id>0c9eacf3d2c83256736a5bb2a240e73afd13d55f</id>
<content type='text'>
Fixes #824

Exporting variables in a dynamic library is a PITA. Let's keep
these values internally and wrap them through a helper method.

This doesn't break the external API. @arrbee, aren't you glad I turned
the `GIT_ATTR_` macros into function macros? :sparkles:
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixes #824

Exporting variables in a dynamic library is a PITA. Let's keep
these values internally and wrap them through a helper method.

This doesn't break the external API. @arrbee, aren't you glad I turned
the `GIT_ATTR_` macros into function macros? :sparkles:
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix bugs for status with spaces and reloaded attrs</title>
<updated>2012-05-25T00:14:56+00:00</updated>
<author>
<name>Russell Belfer</name>
<email>rb@github.com</email>
</author>
<published>2012-05-25T00:14:56+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/gitano/libgit2.git/commit/?id=2a99df6909af4c93ce2741ddc5d15a7f52270f28'/>
<id>2a99df6909af4c93ce2741ddc5d15a7f52270f28</id>
<content type='text'>
This fixes two bugs:

* Issue #728 where git_status_file was not working for files
  that contain spaces.  This was caused by reusing the "fnmatch"
  parsing code from ignore and attribute files to interpret the
  "pathspec" that constrained the files to apply the status to.
  In that code, unescaped whitespace was considered terminal to
  the pattern, so a file with internal whitespace was excluded
  from the matched files.  The fix was to add a mode to that code
  that allows spaces and tabs inside patterns.  This mode only
  comes into play when parsing in-memory strings.

* The other issue was undetected, but it was in the recently
  added code to reload gitattributes / gitignores when they were
  changed on disk.  That code was not clearing out the old values
  from the cached file content before reparsing which meant that
  newly added patterns would be read in, but deleted patterns
  would not be removed.  The fix was to clear the vector of
  patterns in a cached file before reparsing the file.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This fixes two bugs:

* Issue #728 where git_status_file was not working for files
  that contain spaces.  This was caused by reusing the "fnmatch"
  parsing code from ignore and attribute files to interpret the
  "pathspec" that constrained the files to apply the status to.
  In that code, unescaped whitespace was considered terminal to
  the pattern, so a file with internal whitespace was excluded
  from the matched files.  The fix was to add a mode to that code
  that allows spaces and tabs inside patterns.  This mode only
  comes into play when parsing in-memory strings.

* The other issue was undetected, but it was in the recently
  added code to reload gitattributes / gitignores when they were
  changed on disk.  That code was not clearing out the old values
  from the cached file content before reparsing which meant that
  newly added patterns would be read in, but deleted patterns
  would not be removed.  The fix was to clear the vector of
  patterns in a cached file before reparsing the file.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add cache busting to attribute cache</title>
<updated>2012-05-10T18:12:43+00:00</updated>
<author>
<name>Russell Belfer</name>
<email>rb@github.com</email>
</author>
<published>2012-05-10T18:08:59+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/gitano/libgit2.git/commit/?id=dc13f1f7d71a22d6618c9a5db18335c005da9795'/>
<id>dc13f1f7d71a22d6618c9a5db18335c005da9795</id>
<content type='text'>
This makes the git attributes and git ignores cache check
stat information before using the file contents from the
cache.  For cached files from the index, it checks the SHA
of the file instead.  This should reduce the need to ever
call `git_attr_cache_flush()` in most situations.

This commit also fixes the `git_status_should_ignore` API
to use the libgit2 standard parameter ordering.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This makes the git attributes and git ignores cache check
stat information before using the file contents from the
cache.  For cached files from the index, it checks the SHA
of the file instead.  This should reduce the need to ever
call `git_attr_cache_flush()` in most situations.

This commit also fixes the `git_status_should_ignore` API
to use the libgit2 standard parameter ordering.
</pre>
</div>
</content>
</entry>
<entry>
<title>Support reading attributes from index</title>
<updated>2012-05-03T23:37:25+00:00</updated>
<author>
<name>Russell Belfer</name>
<email>rb@github.com</email>
</author>
<published>2012-05-03T23:37:25+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/gitano/libgit2.git/commit/?id=f917481ee84cbba481c1854cccdedb2d98377d43'/>
<id>f917481ee84cbba481c1854cccdedb2d98377d43</id>
<content type='text'>
Depending on the operation, we need to consider gitattributes
in both the work dir and the index.  This adds a parameter to
all of the gitattributes related functions that allows user
control of attribute reading behavior (i.e. prefer workdir,
prefer index, only use index).

This fix also covers allowing us to check attributes (and
hence do diff and status) on bare repositories.

This was a somewhat larger change that I hoped because it had
to change the cache key used for gitattributes files.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Depending on the operation, we need to consider gitattributes
in both the work dir and the index.  This adds a parameter to
all of the gitattributes related functions that allows user
control of attribute reading behavior (i.e. prefer workdir,
prefer index, only use index).

This fix also covers allowing us to check attributes (and
hence do diff and status) on bare repositories.

This was a somewhat larger change that I hoped because it had
to change the cache key used for gitattributes files.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix leading slash behavior in attrs/ignores</title>
<updated>2012-04-26T17:51:45+00:00</updated>
<author>
<name>Russell Belfer</name>
<email>rb@github.com</email>
</author>
<published>2012-04-26T17:51:45+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/gitano/libgit2.git/commit/?id=d58336dda873704f8d12a8b78c3191deefa4ec14'/>
<id>d58336dda873704f8d12a8b78c3191deefa4ec14</id>
<content type='text'>
We were not following the git behavior for leading slashes
in path names when matching git ignores and git attribute
file patterns.  This should fix issue #638.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We were not following the git behavior for leading slashes
in path names when matching git ignores and git attribute
file patterns.  This should fix issue #638.
</pre>
</div>
</content>
</entry>
<entry>
<title>Rename git_khash_str to git_strmap, etc.</title>
<updated>2012-04-25T22:20:28+00:00</updated>
<author>
<name>Russell Belfer</name>
<email>rb@github.com</email>
</author>
<published>2012-04-25T22:20:28+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/gitano/libgit2.git/commit/?id=c2b670436f4cc8901811ae0348f3c56150d1ccd5'/>
<id>c2b670436f4cc8901811ae0348f3c56150d1ccd5</id>
<content type='text'>
This renamed `git_khash_str` to `git_strmap`, `git_hash_oid` to
`git_oidmap`, and deletes `git_hashtable` from the tree, plus
adds unit tests for `git_strmap`.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This renamed `git_khash_str` to `git_strmap`, `git_hash_oid` to
`git_oidmap`, and deletes `git_hashtable` from the tree, plus
adds unit tests for `git_strmap`.
</pre>
</div>
</content>
</entry>
<entry>
<title>Convert attrs and diffs to use string pools</title>
<updated>2012-04-25T17:42:37+00:00</updated>
<author>
<name>Russell Belfer</name>
<email>rb@github.com</email>
</author>
<published>2012-04-17T22:12:50+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/gitano/libgit2.git/commit/?id=19fa2bc111d50dc2bafb1393b87b5ba119615ae2'/>
<id>19fa2bc111d50dc2bafb1393b87b5ba119615ae2</id>
<content type='text'>
This converts the git attr related code (including ignores) and
the git diff related code (and implicitly the status code) to use
`git_pools` for storing strings.  This reduces the number of small
blocks allocated dramatically.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This converts the git attr related code (including ignores) and
the git diff related code (and implicitly the status code) to use
`git_pools` for storing strings.  This reduces the number of small
blocks allocated dramatically.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add support for pathspec to diff and status</title>
<updated>2012-04-13T22:00:29+00:00</updated>
<author>
<name>Russell Belfer</name>
<email>rb@github.com</email>
</author>
<published>2012-04-13T22:00:29+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/gitano/libgit2.git/commit/?id=14a513e05866721f5ceba18cf425568d2f6af143'/>
<id>14a513e05866721f5ceba18cf425568d2f6af143</id>
<content type='text'>
This adds preliminary support for pathspecs to diff and status.
The implementation is not very optimized (it still looks at
every single file and evaluated the the pathspec match against
them), but it works.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This adds preliminary support for pathspecs to diff and status.
The implementation is not very optimized (it still looks at
every single file and evaluated the the pathspec match against
them), but it works.
</pre>
</div>
</content>
</entry>
<entry>
<title>Improve config handling for diff,submodules,attrs</title>
<updated>2012-03-30T21:40:50+00:00</updated>
<author>
<name>Russell Belfer</name>
<email>rb@github.com</email>
</author>
<published>2012-03-30T21:40:50+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/gitano/libgit2.git/commit/?id=95dfb031f70601b12a9eb57229fd4aa9a51ddd54'/>
<id>95dfb031f70601b12a9eb57229fd4aa9a51ddd54</id>
<content type='text'>
This adds support for a bunch of core.* settings that affect
diff and status, plus fixes up some incorrect implementations
of those settings from before.  Also, this cleans up the
handling of config settings in the new submodules code and
in the old attrs/ignore code.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This adds support for a bunch of core.* settings that affect
diff and status, plus fixes up some incorrect implementations
of those settings from before.  Also, this cleans up the
handling of config settings in the new submodules code and
in the old attrs/ignore code.
</pre>
</div>
</content>
</entry>
<entry>
<title>Convert attr and other files to new errors</title>
<updated>2012-03-14T18:07:14+00:00</updated>
<author>
<name>Russell Belfer</name>
<email>arrbee@arrbee.com</email>
</author>
<published>2012-03-14T18:07:14+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/gitano/libgit2.git/commit/?id=ab43ad2fd822504446e7876d6352c968a74beb53'/>
<id>ab43ad2fd822504446e7876d6352c968a74beb53</id>
<content type='text'>
This continues to add other files to the new error handling
style.  I think the only real concerns here are that there are
a couple of error return cases that I have converted to asserts,
but I think that it was the correct thing to do given the new
error style.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This continues to add other files to the new error handling
style.  I think the only real concerns here are that there are
a couple of error return cases that I have converted to asserts,
but I think that it was the correct thing to do given the new
error style.
</pre>
</div>
</content>
</entry>
</feed>
