<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/libgit2.git/src/repository.c, branch peff/binary-search-do-while</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>repository: remove trailing whitespace</title>
<updated>2017-06-19T12:38:21+00:00</updated>
<author>
<name>Ariel Davis</name>
<email>ariel.z.davis@icloud.com</email>
</author>
<published>2017-06-17T03:19:31+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=af720bb659ef6a89faa17bd04b40546853e7a468'/>
<id>af720bb659ef6a89faa17bd04b40546853e7a468</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>repository: do not initialize templates if dir is an empty string</title>
<updated>2017-06-19T12:38:12+00:00</updated>
<author>
<name>Ariel Davis</name>
<email>ariel.z.davis@icloud.com</email>
</author>
<published>2017-06-17T01:02:26+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=9a46c77739e9add922fca8f7798786a6bd2893e8'/>
<id>9a46c77739e9add922fca8f7798786a6bd2893e8</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>repository: don't fail to create config option in inmemory repo</title>
<updated>2017-06-12T15:51:04+00:00</updated>
<author>
<name>Edward Thomson</name>
<email>ethomson@edwardthomson.com</email>
</author>
<published>2017-06-12T11:02:27+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=2d486781df0828eae716937b23d2df0a9c1817f9'/>
<id>2d486781df0828eae716937b23d2df0a9c1817f9</id>
<content type='text'>
When in an in-memory repository - without a configuration file - do not
fail to create a configuration object.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When in an in-memory repository - without a configuration file - do not
fail to create a configuration object.
</pre>
</div>
</content>
</entry>
<entry>
<title>repository_item_path: return ENOTFOUND when appropriate</title>
<updated>2017-06-12T15:51:04+00:00</updated>
<author>
<name>Edward Thomson</name>
<email>ethomson@edwardthomson.com</email>
</author>
<published>2017-06-12T11:01:10+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=9d49a43c718d0749231ac54adf4b72775cc40354'/>
<id>9d49a43c718d0749231ac54adf4b72775cc40354</id>
<content type='text'>
Disambiguate error values: return `GIT_ENOTFOUND` when the item cannot
exist in the repository (perhaps because the repository is inmemory or
otherwise not backed by a filesystem), return `-1` when there is a hard
failure.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Disambiguate error values: return `GIT_ENOTFOUND` when the item cannot
exist in the repository (perhaps because the repository is inmemory or
otherwise not backed by a filesystem), return `-1` when there is a hard
failure.
</pre>
</div>
</content>
</entry>
<entry>
<title>repository_item_path: error messages lowercased</title>
<updated>2017-06-12T10:45:09+00:00</updated>
<author>
<name>Edward Thomson</name>
<email>ethomson@edwardthomson.com</email>
</author>
<published>2017-06-12T10:45:09+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=fb3fc837c6e35075a7060d5702cf122f998d3aea'/>
<id>fb3fc837c6e35075a7060d5702cf122f998d3aea</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>settings: rename `GIT_OPT_ENABLE_SYNCHRONOUS_OBJECT_CREATION`</title>
<updated>2017-06-08T19:40:18+00:00</updated>
<author>
<name>Patrick Steinhardt</name>
<email>ps@pks.im</email>
</author>
<published>2017-06-08T19:40:18+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=6c23704df5d19239f8c3d6f69da62bdbe1cf287d'/>
<id>6c23704df5d19239f8c3d6f69da62bdbe1cf287d</id>
<content type='text'>
Initially, the setting has been solely used to enable the use of
`fsync()` when creating objects. Since then, the use has been extended
to also cover references and index files. As the option is not yet part
of any release, we can still correct this by renaming the option to
something more sensible, indicating not only correlation to objects.

This commit renames the option to `GIT_OPT_ENABLE_FSYNC_GITDIR`. We also
move the variable from the object to repository source code.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Initially, the setting has been solely used to enable the use of
`fsync()` when creating objects. Since then, the use has been extended
to also cover references and index files. As the option is not yet part
of any release, we can still correct this by renaming the option to
something more sensible, indicating not only correlation to objects.

This commit renames the option to `GIT_OPT_ENABLE_FSYNC_GITDIR`. We also
move the variable from the object to repository source code.
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge pull request #4243 from pks-t/pks/submodule-workdir</title>
<updated>2017-06-04T17:03:07+00:00</updated>
<author>
<name>Edward Thomson</name>
<email>ethomson@edwardthomson.com</email>
</author>
<published>2017-06-04T17:03:07+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=04de614b1f421d99240d049763546f2d06421248'/>
<id>04de614b1f421d99240d049763546f2d06421248</id>
<content type='text'>
Submodule working directory</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Submodule working directory</pre>
</div>
</content>
</entry>
<entry>
<title>Merge pull request #4174 from libgit2/ethomson/set_head_to_tag</title>
<updated>2017-05-20T12:17:36+00:00</updated>
<author>
<name>Carlos Martín Nieto</name>
<email>carlosmn@github.com</email>
</author>
<published>2017-05-20T12:17:36+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=e694e4e9545bcbe7841cdacdbbe4a984af094f63'/>
<id>e694e4e9545bcbe7841cdacdbbe4a984af094f63</id>
<content type='text'>
git_repository_set_head: use tag name in reflog</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
git_repository_set_head: use tag name in reflog</pre>
</div>
</content>
</entry>
<entry>
<title>repository: make check if repo is a worktree more strict</title>
<updated>2017-05-19T07:44:44+00:00</updated>
<author>
<name>Patrick Steinhardt</name>
<email>ps@pks.im</email>
</author>
<published>2017-05-19T07:21:17+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=2696c5c3ece1a28c545d6e59b0d121480e9f977d'/>
<id>2696c5c3ece1a28c545d6e59b0d121480e9f977d</id>
<content type='text'>
To determine if a repository is a worktree or not, we currently check
for the existence of a "gitdir" file inside of the repository's gitdir.
While this is sufficient for non-broken repositories, we have at least
one case of a subtly broken repository where there exists a gitdir file
inside of a gitmodule. This will cause us to misidentify the submodule
as a worktree.

While this is not really a fault of ours, we can do better here by
observing that a repository can only ever be a worktree iff its common
directory and dotgit directory are different. This allows us to make our
check whether a repo is a worktree or not more strict by doing a simple
string comparison of these two directories. This will also allow us to
do the right thing in the above case of a broken repository, as for
submodules these directories will be the same. At the same time, this
allows us to skip the `stat` check for the "gitdir" file for most
repositories.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
To determine if a repository is a worktree or not, we currently check
for the existence of a "gitdir" file inside of the repository's gitdir.
While this is sufficient for non-broken repositories, we have at least
one case of a subtly broken repository where there exists a gitdir file
inside of a gitmodule. This will cause us to misidentify the submodule
as a worktree.

While this is not really a fault of ours, we can do better here by
observing that a repository can only ever be a worktree iff its common
directory and dotgit directory are different. This allows us to make our
check whether a repo is a worktree or not more strict by doing a simple
string comparison of these two directories. This will also allow us to
do the right thing in the above case of a broken repository, as for
submodules these directories will be the same. At the same time, this
allows us to skip the `stat` check for the "gitdir" file for most
repositories.
</pre>
</div>
</content>
</entry>
<entry>
<title>repository: factor out worktree check</title>
<updated>2017-05-19T07:01:21+00:00</updated>
<author>
<name>Patrick Steinhardt</name>
<email>ps@pks.im</email>
</author>
<published>2017-05-19T06:59:46+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=9f9fd05f1cb9278a34a265c49c8567b526e48afd'/>
<id>9f9fd05f1cb9278a34a265c49c8567b526e48afd</id>
<content type='text'>
The check whether a repository is a worktree or not is currently done
inside of `git_repository_open_ext`. As we want to extend this function
later on, pull it out into its own function `repo_is_worktree` to ease
working on it.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The check whether a repository is a worktree or not is currently done
inside of `git_repository_open_ext`. As we want to extend this function
later on, pull it out into its own function `repo_is_worktree` to ease
working on it.
</pre>
</div>
</content>
</entry>
</feed>
