<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/libgit2.git/src/attr_file.c, branch ethomson/https_proxy</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>Merge pull request #5095 from pks-t/pks/ignore-escaped-trailing-space</title>
<updated>2019-06-06T13:48:30+00:00</updated>
<author>
<name>Edward Thomson</name>
<email>ethomson@edwardthomson.com</email>
</author>
<published>2019-06-06T13:48:30+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=e50d138e898dd034161663873f75716086266f86'/>
<id>e50d138e898dd034161663873f75716086266f86</id>
<content type='text'>
ignore: handle escaped trailing whitespace</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
ignore: handle escaped trailing whitespace</pre>
</div>
</content>
</entry>
<entry>
<title>Merge pull request #5074 from libgit2/ethomson/ignore_leading_slash</title>
<updated>2019-06-06T13:47:43+00:00</updated>
<author>
<name>Edward Thomson</name>
<email>ethomson@edwardthomson.com</email>
</author>
<published>2019-06-06T13:47:43+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=4de6eb5b8ba559c1f18a6e7631d7800e294849c8'/>
<id>4de6eb5b8ba559c1f18a6e7631d7800e294849c8</id>
<content type='text'>
Ignore: only treat one leading slash as a root identifier</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Ignore: only treat one leading slash as a root identifier</pre>
</div>
</content>
</entry>
<entry>
<title>ignore: handle escaped trailing whitespace</title>
<updated>2019-06-06T12:44:43+00:00</updated>
<author>
<name>Patrick Steinhardt</name>
<email>ps@pks.im</email>
</author>
<published>2019-06-06T12:11:44+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=d81e7866aba52625aa3100764d77c73adba58c8e'/>
<id>d81e7866aba52625aa3100764d77c73adba58c8e</id>
<content type='text'>
The gitignore's pattern format specifies that "Trailing spaces
are ignored unless they are quoted with backslash ("\")". We do
not honor this currently and will treat a pattern "foo\ " as if
it was "foo\" only and a pattern "foo\ \ " as "foo\ \".

Fix our code to handle those special cases and add tests to avoid
regressions.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The gitignore's pattern format specifies that "Trailing spaces
are ignored unless they are quoted with backslash ("\")". We do
not honor this currently and will treat a pattern "foo\ " as if
it was "foo\" only and a pattern "foo\ \ " as "foo\ \".

Fix our code to handle those special cases and add tests to avoid
regressions.
</pre>
</div>
</content>
</entry>
<entry>
<title>attr_file: refactor stripping of trailing spaces</title>
<updated>2019-06-06T12:15:36+00:00</updated>
<author>
<name>Patrick Steinhardt</name>
<email>ps@pks.im</email>
</author>
<published>2019-06-06T12:02:17+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=b6967c393aaa9bc8fcb1f248f94a4deb897248cb'/>
<id>b6967c393aaa9bc8fcb1f248f94a4deb897248cb</id>
<content type='text'>
The stripping of trailing spaces currently happens as part of
`git_attr_fnmatch__parse`. As we aren't currently parsing
trailing whitespaces correct in case they're escaped, we'll have
to change that code, though. To make actual behavioural change
easier to review, refactor the code up-front by pulling it out
into its own function that is expected to retain the exact same
functionality as before. Like this, the fix will be trivial to
apply.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The stripping of trailing spaces currently happens as part of
`git_attr_fnmatch__parse`. As we aren't currently parsing
trailing whitespaces correct in case they're escaped, we'll have
to change that code, though. To make actual behavioural change
easier to review, refactor the code up-front by pulling it out
into its own function that is expected to retain the exact same
functionality as before. Like this, the fix will be trivial to
apply.
</pre>
</div>
</content>
</entry>
<entry>
<title>attr: optionally treat leading whitespace as significant</title>
<updated>2019-05-24T14:16:43+00:00</updated>
<author>
<name>Edward Thomson</name>
<email>ethomson@edwardthomson.com</email>
</author>
<published>2019-05-19T14:27:59+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=63adcc4e3436abb163426ee431a6f77c29415b10'/>
<id>63adcc4e3436abb163426ee431a6f77c29415b10</id>
<content type='text'>
When `allow_space` is unset, ensure that leading whitespace is not
skipped.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When `allow_space` is unset, ensure that leading whitespace is not
skipped.
</pre>
</div>
</content>
</entry>
<entry>
<title>ignore: skip UTF8 BOM in ignore file</title>
<updated>2019-05-19T12:57:13+00:00</updated>
<author>
<name>Edward Thomson</name>
<email>ethomson@edwardthomson.com</email>
</author>
<published>2019-05-19T12:57:13+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=133bcebad9af73395f1c1e09f85e7e980bd20744'/>
<id>133bcebad9af73395f1c1e09f85e7e980bd20744</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>ignore: only skip first leading slash</title>
<updated>2019-05-19T12:12:47+00:00</updated>
<author>
<name>Edward Thomson</name>
<email>ethomson@edwardthomson.com</email>
</author>
<published>2019-05-19T12:12:47+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=e269b34319664cd65d45875f11f3e1b8f7179428'/>
<id>e269b34319664cd65d45875f11f3e1b8f7179428</id>
<content type='text'>
For compatibility with git, only skip the first leading slash in an
ignore file.  That is: `/a.txt` indicates to ignore a file named `a.txt`
at the root.  However `//b.txt` does not indicate that a file named
`b.txt` at the root should be ignored.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
For compatibility with git, only skip the first leading slash in an
ignore file.  That is: `/a.txt` indicates to ignore a file named `a.txt`
at the root.  However `//b.txt` does not indicate that a file named
`b.txt` at the root should be ignored.
</pre>
</div>
</content>
</entry>
<entry>
<title>ignore: Do not match on prefix of negated patterns</title>
<updated>2019-03-14T23:00:13+00:00</updated>
<author>
<name>Steve King Jr</name>
<email>stevek@axosoft.com</email>
</author>
<published>2019-03-14T22:51:15+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=e3d7bccbec2a19f9bcda15679f28a33ad98ded93'/>
<id>e3d7bccbec2a19f9bcda15679f28a33ad98ded93</id>
<content type='text'>
Matching on the prefix of a negated pattern was triggering false
negatives on siblings of that pattern. e.g.

Given the .gitignore:
dir/*
!dir/sub1/sub2/**

The path `dir/a.text` would not be ignored.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Matching on the prefix of a negated pattern was triggering false
negatives on siblings of that pattern. e.g.

Given the .gitignore:
dir/*
!dir/sub1/sub2/**

The path `dir/a.text` would not be ignored.
</pre>
</div>
</content>
</entry>
<entry>
<title>blob: validate that blob sizes fit in a size_t</title>
<updated>2019-01-25T22:36:38+00:00</updated>
<author>
<name>Edward Thomson</name>
<email>ethomson@edwardthomson.com</email>
</author>
<published>2019-01-20T22:40:38+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=c6cac733c147ff800f78e7dff81f90d93369ea68'/>
<id>c6cac733c147ff800f78e7dff81f90d93369ea68</id>
<content type='text'>
Our blob size is a `git_off_t`, which is a signed 64 bit int.  This may
be erroneously negative or larger than `SIZE_MAX`.  Ensure that the blob
size fits into a `size_t` before casting.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Our blob size is a `git_off_t`, which is a signed 64 bit int.  This may
be erroneously negative or larger than `SIZE_MAX`.  Ensure that the blob
size fits into a `size_t` before casting.
</pre>
</div>
</content>
</entry>
<entry>
<title>git_error: use new names in internal APIs and usage</title>
<updated>2019-01-22T22:30:35+00:00</updated>
<author>
<name>Edward Thomson</name>
<email>ethomson@edwardthomson.com</email>
</author>
<published>2018-12-27T19:47:34+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=f673e232afe22eb865cdc915e55a2df6493f0fbb'/>
<id>f673e232afe22eb865cdc915e55a2df6493f0fbb</id>
<content type='text'>
Move to the `git_error` name in the internal API for error-related
functions.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Move to the `git_error` name in the internal API for error-related
functions.
</pre>
</div>
</content>
</entry>
</feed>
