<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/libgit2.git/src/path.c, branch ethomson/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>path: fix "comparison always true" warning</title>
<updated>2018-09-25T12:44:40+00:00</updated>
<author>
<name>Etienne Samson</name>
<email>samson.etienne@gmail.com</email>
</author>
<published>2018-09-18T12:12:06+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=be4717d2a1f8ee152e46b2afc8d8510bc82243a5'/>
<id>be4717d2a1f8ee152e46b2afc8d8510bc82243a5</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>path validation: `char` is not signed by default.</title>
<updated>2018-09-12T09:53:03+00:00</updated>
<author>
<name>Edward Thomson</name>
<email>ethomson@edwardthomson.com</email>
</author>
<published>2018-09-12T09:53:03+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=442918685bc2e8b4bed75873d85d0d9ea5f23966'/>
<id>442918685bc2e8b4bed75873d85d0d9ea5f23966</id>
<content type='text'>
ARM treats its `char` type as `unsigned type` by default; as a result,
testing a `char` value as being `&lt; 0` is always false.  This is a
warning on ARM, which is promoted to an error given our use of
`-Werror`.

Per ISO 9899:199, section "6.2.5 Types":

&gt; The three types char, signed char, and unsigned char are collectively
&gt; called the character types. The implementation shall define char to
&gt; have the same range, representation, and behavior as either signed
&gt; char or unsigned char.
&gt;
...

&gt; Irrespective of the choice made, char is a separate type from the other
&gt; two and is not compatible with either.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
ARM treats its `char` type as `unsigned type` by default; as a result,
testing a `char` value as being `&lt; 0` is always false.  This is a
warning on ARM, which is promoted to an error given our use of
`-Werror`.

Per ISO 9899:199, section "6.2.5 Types":

&gt; The three types char, signed char, and unsigned char are collectively
&gt; called the character types. The implementation shall define char to
&gt; have the same range, representation, and behavior as either signed
&gt; char or unsigned char.
&gt;
...

&gt; Irrespective of the choice made, char is a separate type from the other
&gt; two and is not compatible with either.
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge pull request #4436 from pks-t/pks/packfile-stream-free</title>
<updated>2018-06-11T17:26:22+00:00</updated>
<author>
<name>Edward Thomson</name>
<email>ethomson@edwardthomson.com</email>
</author>
<published>2018-06-11T17:26:22+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=3be7301151e44537d2423386dc71f1d3e496c664'/>
<id>3be7301151e44537d2423386dc71f1d3e496c664</id>
<content type='text'>
pack: rename `git_packfile_stream_free`</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
pack: rename `git_packfile_stream_free`</pre>
</div>
</content>
</entry>
<entry>
<title>Convert usage of `git_buf_free` to new `git_buf_dispose`</title>
<updated>2018-06-10T17:34:37+00:00</updated>
<author>
<name>Patrick Steinhardt</name>
<email>ps@pks.im</email>
</author>
<published>2018-02-08T11:14:48+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=ecf4f33a4e327a91496f72816f9f02d923e5af05'/>
<id>ecf4f33a4e327a91496f72816f9f02d923e5af05</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>path: unify `git_path_is_*` APIs</title>
<updated>2018-06-01T10:49:09+00:00</updated>
<author>
<name>Patrick Steinhardt</name>
<email>ps@pks.im</email>
</author>
<published>2018-05-30T10:18:04+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=92159bd46568870264d72741390e387ce5dbe271'/>
<id>92159bd46568870264d72741390e387ce5dbe271</id>
<content type='text'>
Right now, there's quite a lot of different function calls to determine
whether a path component matches a specific name after normalization
from the filesystem. We have a function for each of {gitattributes,
gitmodules, gitignore} multiplicated with {generic, NTFS, HFS} checks.
In the long time, this is unmaintainable in case there are e.g. new
filesystems with specific semantics, blowing up the number of functions
we need to implement.

Replace all functions with a simple `git_path_is_gitfile` function,
which accepts an enum pointing out the filename that is to be checked
against as well as the filesystem normalizations to check for. This
greatly simplifies implementation at the expense of the caller having to
invoke a somewhat longer function call.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Right now, there's quite a lot of different function calls to determine
whether a path component matches a specific name after normalization
from the filesystem. We have a function for each of {gitattributes,
gitmodules, gitignore} multiplicated with {generic, NTFS, HFS} checks.
In the long time, this is unmaintainable in case there are e.g. new
filesystems with specific semantics, blowing up the number of functions
we need to implement.

Replace all functions with a simple `git_path_is_gitfile` function,
which accepts an enum pointing out the filename that is to be checked
against as well as the filesystem normalizations to check for. This
greatly simplifies implementation at the expense of the caller having to
invoke a somewhat longer function call.
</pre>
</div>
</content>
</entry>
<entry>
<title>path: check for a symlinked .gitmodules in fs-agnostic code</title>
<updated>2018-05-23T06:47:08+00:00</updated>
<author>
<name>Carlos Martín Nieto</name>
<email>cmn@dwim.me</email>
</author>
<published>2018-05-23T06:40:17+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=1f570a290aae8bf5a0a5a436e8c66b059b2f0ca1'/>
<id>1f570a290aae8bf5a0a5a436e8c66b059b2f0ca1</id>
<content type='text'>
We still compare case-insensitively to protect more thoroughly as we don't know
what specifics we'll see on the system and it's the behaviour from git.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We still compare case-insensitively to protect more thoroughly as we don't know
what specifics we'll see on the system and it's the behaviour from git.
</pre>
</div>
</content>
</entry>
<entry>
<title>path: reject .gitmodules as a symlink</title>
<updated>2018-05-23T06:47:08+00:00</updated>
<author>
<name>Carlos Martín Nieto</name>
<email>cmn@dwim.me</email>
</author>
<published>2018-05-22T14:13:47+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=a7168b47ee494c52ffe850784be9ad996f80441a'/>
<id>a7168b47ee494c52ffe850784be9ad996f80441a</id>
<content type='text'>
Any part of the library which asks the question can pass in the mode to have it
checked against `.gitmodules` being a symlink.

This is particularly relevant for adding entries to the index from the worktree
and for checking out files.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Any part of the library which asks the question can pass in the mode to have it
checked against `.gitmodules` being a symlink.

This is particularly relevant for adding entries to the index from the worktree
and for checking out files.
</pre>
</div>
</content>
</entry>
<entry>
<title>path: accept the name length as a parameter</title>
<updated>2018-05-22T13:27:29+00:00</updated>
<author>
<name>Carlos Martín Nieto</name>
<email>cmn@dwim.me</email>
</author>
<published>2018-05-22T13:21:08+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=02c80ad75d3c3d2246f4f36660281d73648d79aa'/>
<id>02c80ad75d3c3d2246f4f36660281d73648d79aa</id>
<content type='text'>
We may take in names from the middle of a string so we want the caller to let us
know how long the path component is that we should be checking.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We may take in names from the middle of a string so we want the caller to let us
know how long the path component is that we should be checking.
</pre>
</div>
</content>
</entry>
<entry>
<title>path: expose dotgit detection functions per filesystem</title>
<updated>2018-05-22T11:58:24+00:00</updated>
<author>
<name>Carlos Martín Nieto</name>
<email>cmn@dwim.me</email>
</author>
<published>2018-05-22T11:58:24+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=490cbaa97b6476d7103b82a26ef2c7c951c8ec5b'/>
<id>490cbaa97b6476d7103b82a26ef2c7c951c8ec5b</id>
<content type='text'>
These will be used by the checkout code to detect them for the particular
filesystem they're on.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
These will be used by the checkout code to detect them for the particular
filesystem they're on.
</pre>
</div>
</content>
</entry>
<entry>
<title>path: add functions to detect .gitconfig and .gitattributes</title>
<updated>2018-05-18T12:49:08+00:00</updated>
<author>
<name>Carlos Martín Nieto</name>
<email>carlosmn@github.com</email>
</author>
<published>2018-05-16T13:56:04+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=0aa65f8dbf270d8517703a9a8f63afaf18e0e739'/>
<id>0aa65f8dbf270d8517703a9a8f63afaf18e0e739</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
