<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/libgit2.git/include/git2/config.h, branch ethomson/cvar</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>configuration: cvar -&gt; configmap</title>
<updated>2019-07-18T11:53:41+00:00</updated>
<author>
<name>Patrick Steinhardt</name>
<email>ps@pks.im</email>
</author>
<published>2019-07-18T11:53:41+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=658022c41affc7d9b5bd9b84b1d75ec909b820c6'/>
<id>658022c41affc7d9b5bd9b84b1d75ec909b820c6</id>
<content type='text'>
`cvar` is an unhelpful name.  Refactor its usage to `configmap` for more
clarity.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
`cvar` is an unhelpful name.  Refactor its usage to `configmap` for more
clarity.
</pre>
</div>
</content>
</entry>
<entry>
<title>Introduce GIT_CALLBACK macro to enforce cdecl</title>
<updated>2019-01-17T21:17:32+00:00</updated>
<author>
<name>Edward Thomson</name>
<email>ethomson@edwardthomson.com</email>
</author>
<published>2019-01-09T18:25:10+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=22d2062d954dcb88fa3dc65281d3f3d88ae87d68'/>
<id>22d2062d954dcb88fa3dc65281d3f3d88ae87d68</id>
<content type='text'>
Since we now always build the library with cdecl calling conventions,
our callbacks should be decorated as such so that users will not be able
to provide callbacks defined with other calling conventions.

The `GIT_CALLBACK` macro will inject the `__cdecl` attribute as
appropriate.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Since we now always build the library with cdecl calling conventions,
our callbacks should be decorated as such so that users will not be able
to provide callbacks defined with other calling conventions.

The `GIT_CALLBACK` macro will inject the `__cdecl` attribute as
appropriate.
</pre>
</div>
</content>
</entry>
<entry>
<title>config: fix incorrect filename in documentation comment</title>
<updated>2018-10-01T21:27:44+00:00</updated>
<author>
<name>Etienne Samson</name>
<email>samson.etienne@gmail.com</email>
</author>
<published>2018-09-25T12:43:19+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=25da1acbc7c931caf2555282d2f5e4e28906d21c'/>
<id>25da1acbc7c931caf2555282d2f5e4e28906d21c</id>
<content type='text'>
The underlying code uses GIT_CONFIG_FILENAME_GLOBAL, which is .gitconfig.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The underlying code uses GIT_CONFIG_FILENAME_GLOBAL, which is .gitconfig.</pre>
</div>
</content>
</entry>
<entry>
<title>doc: small fixups &amp; additions</title>
<updated>2018-10-01T21:14:50+00:00</updated>
<author>
<name>Etienne Samson</name>
<email>samson.etienne@gmail.com</email>
</author>
<published>2018-10-01T21:00:15+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=7283daa85863f547c2cf54e48df26b9ffe6f0881'/>
<id>7283daa85863f547c2cf54e48df26b9ffe6f0881</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>config_file: move include depth into config entry</title>
<updated>2018-03-26T09:15:16+00:00</updated>
<author>
<name>Patrick Steinhardt</name>
<email>ps@pks.im</email>
</author>
<published>2018-02-09T11:35:16+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=26cf48fcf8cf0ecd2b098a41c8873a75e0186577'/>
<id>26cf48fcf8cf0ecd2b098a41c8873a75e0186577</id>
<content type='text'>
In order to reject writes to included configuration entries, we need to
keep track of whether an entry was included via another configuration
file or not. This information is being stored in the `cvar` structure,
which is a rather weird location, as it is only used to create a list
structure of config entries.

Move the include depth into the structure `git_config_entry` instead.
While this fixes the layering issue, it enables users of libgit2 to
access the depth, too.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In order to reject writes to included configuration entries, we need to
keep track of whether an entry was included via another configuration
file or not. This information is being stored in the `cvar` structure,
which is a rather weird location, as it is only used to create a list
structure of config entries.

Move the include depth into the structure `git_config_entry` instead.
While this fixes the layering issue, it enables users of libgit2 to
access the depth, too.
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge pull request #4396 from libgit2/cmn/config-regex-is-normalised</title>
<updated>2018-03-12T08:50:00+00:00</updated>
<author>
<name>Edward Thomson</name>
<email>ethomson@edwardthomson.com</email>
</author>
<published>2018-03-12T08:50:00+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=358cc2e2ea2e0fffc0672870e4a99160c068ebde'/>
<id>358cc2e2ea2e0fffc0672870e4a99160c068ebde</id>
<content type='text'>
config: specify how we match the regular expressions</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
config: specify how we match the regular expressions</pre>
</div>
</content>
</entry>
<entry>
<title>config: explicitly state that subsections are case-sensitive</title>
<updated>2018-03-11T11:36:13+00:00</updated>
<author>
<name>Carlos Martín Nieto</name>
<email>cmn@dwim.me</email>
</author>
<published>2018-03-11T11:36:13+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=2f89bd90bcdcbd64f3b67e1d9ae6c22711244c43'/>
<id>2f89bd90bcdcbd64f3b67e1d9ae6c22711244c43</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>config: specify how we match the regular expressions</title>
<updated>2017-11-18T18:27:24+00:00</updated>
<author>
<name>Carlos Martín Nieto</name>
<email>cmn@dwim.me</email>
</author>
<published>2017-11-04T14:28:35+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=158a42a55061fd021dbf301fb46440c9b1e5b8be'/>
<id>158a42a55061fd021dbf301fb46440c9b1e5b8be</id>
<content type='text'>
We do it the same as git does: case-sensitively on the normalized form of the
variable name.

While here also specify that we're case-sensitive on the values when handling
the values when setting or deleting multivars.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We do it the same as git does: case-sensitively on the normalized form of the
variable name.

While here also specify that we're case-sensitive on the values when handling
the values when setting or deleting multivars.
</pre>
</div>
</content>
</entry>
<entry>
<title>config: pass repository when opening config files</title>
<updated>2017-10-09T09:19:42+00:00</updated>
<author>
<name>Patrick Steinhardt</name>
<email>ps@pks.im</email>
</author>
<published>2017-05-23T09:51:00+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=529e873cef18ec98246d32d28c7a0b0e3467fe27'/>
<id>529e873cef18ec98246d32d28c7a0b0e3467fe27</id>
<content type='text'>
Our current configuration logic is completely oblivious of any
repository, but only cares for actual file paths. Unfortunately, we are
forced to break this assumption by the introduction of conditional
includes, which are evaluated in the context of a repository. Right now,
only one conditional exists with "gitdir:" -- it will only include the
configuration if the current repository's git directory matches the
value passed to "gitdir:".

To support these conditionals, we have to break our API and make the
repository available when opening a configuration file. This commit
extends the `open` call of configuration backends to include another
repository and adjusts existing code to have it available. This includes
the user-visible functions `git_config_add_file_ondisk` and
`git_config_add_backend`.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Our current configuration logic is completely oblivious of any
repository, but only cares for actual file paths. Unfortunately, we are
forced to break this assumption by the introduction of conditional
includes, which are evaluated in the context of a repository. Right now,
only one conditional exists with "gitdir:" -- it will only include the
configuration if the current repository's git directory matches the
value passed to "gitdir:".

To support these conditionals, we have to break our API and make the
repository available when opening a configuration file. This commit
extends the `open` call of configuration backends to include another
repository and adjusts existing code to have it available. This includes
the user-visible functions `git_config_add_file_ondisk` and
`git_config_add_backend`.
</pre>
</div>
</content>
</entry>
<entry>
<title>config: add a ProgramData level</title>
<updated>2015-10-21T13:11:18+00:00</updated>
<author>
<name>Carlos Martín Nieto</name>
<email>cmn@dwim.me</email>
</author>
<published>2015-10-20T15:42:42+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=8c7c5fa585c6a63dc8186febd6e032880655e85e'/>
<id>8c7c5fa585c6a63dc8186febd6e032880655e85e</id>
<content type='text'>
This is where portable git stores the global configuration which we can
use to adhere to it even though git isn't quite installed on the system.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is where portable git stores the global configuration which we can
use to adhere to it even though git isn't quite installed on the system.
</pre>
</div>
</content>
</entry>
</feed>
