<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/gitano/libgit2.git/tests-clar/attr, 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>Update iterators for consistency across library</title>
<updated>2012-08-04T00:08:01+00:00</updated>
<author>
<name>Russell Belfer</name>
<email>rb@github.com</email>
</author>
<published>2012-08-04T00:08:01+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/gitano/libgit2.git/commit/?id=5dca201072724e4230141796d7c9f8836a277de8'/>
<id>5dca201072724e4230141796d7c9f8836a277de8</id>
<content type='text'>
This updates all the `foreach()` type functions across the library
that take callbacks from the user to have a consistent behavior.
The rules are:

* A callback terminates the loop by returning any non-zero value
* Once the callback returns non-zero, it will not be called again
  (i.e. the loop stops all iteration regardless of state)
* If the callback returns non-zero, the parent fn returns GIT_EUSER
* Although the parent returns GIT_EUSER, no error will be set in
  the library and `giterr_last()` will return NULL if called.

This commit makes those changes across the library and adds tests
for most of the iteration APIs to make sure that they follow the
above rules.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This updates all the `foreach()` type functions across the library
that take callbacks from the user to have a consistent behavior.
The rules are:

* A callback terminates the loop by returning any non-zero value
* Once the callback returns non-zero, it will not be called again
  (i.e. the loop stops all iteration regardless of state)
* If the callback returns non-zero, the parent fn returns GIT_EUSER
* Although the parent returns GIT_EUSER, no error will be set in
  the library and `giterr_last()` will return NULL if called.

This commit makes those changes across the library and adds tests
for most of the iteration APIs to make sure that they follow the
above rules.
</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>global: Fix unit tests after reordering</title>
<updated>2012-05-17T23:25:57+00:00</updated>
<author>
<name>Vicent Martí</name>
<email>tanoku@gmail.com</email>
</author>
<published>2012-05-10T09:50:29+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/gitano/libgit2.git/commit/?id=255c38c500e8fc1d8adcd86e42f8209ef0b84948'/>
<id>255c38c500e8fc1d8adcd86e42f8209ef0b84948</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</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>attr: add test coverage related to crlf normalization while staging</title>
<updated>2012-04-30T22:33:25+00:00</updated>
<author>
<name>nulltoken</name>
<email>emeric.fermas@gmail.com</email>
</author>
<published>2012-04-30T22:33:25+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/gitano/libgit2.git/commit/?id=4e7a3c76e73264895ffda6c5ed5d8b329a4bcf69'/>
<id>4e7a3c76e73264895ffda6c5ed5d8b329a4bcf69</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</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>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>Update clar and remove old helpers</title>
<updated>2012-04-17T17:35:11+00:00</updated>
<author>
<name>Russell Belfer</name>
<email>rb@github.com</email>
</author>
<published>2012-04-13T17:42:00+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/gitano/libgit2.git/commit/?id=1a6e8f8a54eea1159a950cd8a49cedae3699ff9a'/>
<id>1a6e8f8a54eea1159a950cd8a49cedae3699ff9a</id>
<content type='text'>
This updates to the latest clar which includes the helpers
`cl_assert_equal_s` and `cl_assert_equal_i`.  Convert the code
over to use those and remove the old libgit2-only helpers.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This updates to the latest clar which includes the helpers
`cl_assert_equal_s` and `cl_assert_equal_i`.  Convert the code
over to use those and remove the old libgit2-only helpers.
</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>Convert attr, ignore, mwindow, status to new errors</title>
<updated>2012-03-16T22:56:01+00:00</updated>
<author>
<name>Russell Belfer</name>
<email>arrbee@arrbee.com</email>
</author>
<published>2012-03-16T22:56:01+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/gitano/libgit2.git/commit/?id=0d0fa7c3681e4ef3d0452666a9bc97d4b08391c9'/>
<id>0d0fa7c3681e4ef3d0452666a9bc97d4b08391c9</id>
<content type='text'>
Also cleaned up some previously converted code that still had
little things to polish.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Also cleaned up some previously converted code that still had
little things to polish.
</pre>
</div>
</content>
</entry>
</feed>
