<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/libgit2.git/tests/refs, branch cmn/warn-python</title>
<subtitle>github.com: libgit2/libgit2.git
</subtitle>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/libgit2.git/'/>
<entry>
<title>git_futils_mkdir_*: make a relative-to-base mkdir</title>
<updated>2015-09-17T14:00:35+00:00</updated>
<author>
<name>Edward Thomson</name>
<email>ethomson@microsoft.com</email>
</author>
<published>2015-09-16T19:07:27+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/libgit2.git/commit/?id=ac2fba0ecd68e8eae348dec688cbcd0828432cdf'/>
<id>ac2fba0ecd68e8eae348dec688cbcd0828432cdf</id>
<content type='text'>
Untangle git_futils_mkdir from git_futils_mkdir_ext - the latter
assumes that we own everything beneath the base, as if it were
being called with a base of the repository or working directory,
and is tailored towards checkout and ensuring that there is no
bogosity beneath the base that must be cleaned up.

This is (at best) slow and (at worst) unsafe in the larger context
of a filesystem where we do not own things and cannot do things like
unlink symlinks that are in our way.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Untangle git_futils_mkdir from git_futils_mkdir_ext - the latter
assumes that we own everything beneath the base, as if it were
being called with a base of the repository or working directory,
and is tailored towards checkout and ensuring that there is no
bogosity beneath the base that must be cleaned up.

This is (at best) slow and (at worst) unsafe in the larger context
of a filesystem where we do not own things and cannot do things like
unlink symlinks that are in our way.
</pre>
</div>
</content>
</entry>
<entry>
<title>refdb: delete a ref's reflog upon deletion</title>
<updated>2015-07-12T17:08:06+00:00</updated>
<author>
<name>Carlos Martín Nieto</name>
<email>cmn@dwim.me</email>
</author>
<published>2015-07-12T17:08:06+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/libgit2.git/commit/?id=01d0c02dbaa8856c4e2481ab1435bdf7df58690a'/>
<id>01d0c02dbaa8856c4e2481ab1435bdf7df58690a</id>
<content type='text'>
Removing a reflog upon ref deletion is something which only some
backends might wish to do. Backends which are database-backed may wish
to archive a reflog, log-based ones may not need to do anything.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Removing a reflog upon ref deletion is something which only some
backends might wish to do. Backends which are database-backed may wish
to archive a reflog, log-based ones may not need to do anything.
</pre>
</div>
</content>
</entry>
<entry>
<title>revparse: Add test to make sure this doesn't regress</title>
<updated>2015-06-26T14:48:58+00:00</updated>
<author>
<name>Vicent Marti</name>
<email>tanoku@gmail.com</email>
</author>
<published>2015-06-26T14:48:58+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/libgit2.git/commit/?id=a2f8d1ae2b07827843e1dfe827c524771a32a088'/>
<id>a2f8d1ae2b07827843e1dfe827c524771a32a088</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>branch: error out if we cannot find the remote</title>
<updated>2015-05-22T10:31:39+00:00</updated>
<author>
<name>Carlos Martín Nieto</name>
<email>cmn@dwim.me</email>
</author>
<published>2015-05-22T10:24:09+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/libgit2.git/commit/?id=5014fe95f5691ec9c48e1bb33fa03d925a4159f0'/>
<id>5014fe95f5691ec9c48e1bb33fa03d925a4159f0</id>
<content type='text'>
When we look for which remote corresponds to a remote-tracking branch,
we look in the refspecs to see which ones matches. If none do, we should
abort. We currently ignore the error message from this operation, so
let's not do that anymore.

As part of the test we're writing, let's test for the expected behaviour
if we cannot find a refspec which tells us what the remote-tracking
branch for a remote would look like.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When we look for which remote corresponds to a remote-tracking branch,
we look in the refspecs to see which ones matches. If none do, we should
abort. We currently ignore the error message from this operation, so
let's not do that anymore.

As part of the test we're writing, let's test for the expected behaviour
if we cannot find a refspec which tells us what the remote-tracking
branch for a remote would look like.
</pre>
</div>
</content>
</entry>
<entry>
<title>remote: remove live changing of refspecs</title>
<updated>2015-05-13T07:46:36+00:00</updated>
<author>
<name>Carlos Martín Nieto</name>
<email>cmn@dwim.me</email>
</author>
<published>2015-04-23T04:51:34+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/libgit2.git/commit/?id=7725499072aaf4d9093c615fee5a65d8477100bc'/>
<id>7725499072aaf4d9093c615fee5a65d8477100bc</id>
<content type='text'>
The base refspecs changing can be a cause of confusion as to what is the
current base refspec set and complicate saving the remote's
configuration.

Change `git_remote_add_{fetch,push}()` to update the configuration
instead of an instance.

This finally makes `git_remote_save()` a no-op, it will be removed in a
later commit.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The base refspecs changing can be a cause of confusion as to what is the
current base refspec set and complicate saving the remote's
configuration.

Change `git_remote_add_{fetch,push}()` to update the configuration
instead of an instance.

This finally makes `git_remote_save()` a no-op, it will be removed in a
later commit.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add tests for the annotated versions of ref-modifying functions</title>
<updated>2015-03-16T15:57:30+00:00</updated>
<author>
<name>Carlos Martín Nieto</name>
<email>cmn@dwim.me</email>
</author>
<published>2015-03-06T23:30:40+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/libgit2.git/commit/?id=a5815a2afb7f6a0e86d52467b99d06d9bf01a9fb'/>
<id>a5815a2afb7f6a0e86d52467b99d06d9bf01a9fb</id>
<content type='text'>
This also brings the soft-reset tests back to life. The function name
was missing an underscore, meaning they had not been running.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This also brings the soft-reset tests back to life. The function name
was missing an underscore, meaning they had not been running.
</pre>
</div>
</content>
</entry>
<entry>
<title>refdb: use the same id for old and new when renaming a reference</title>
<updated>2015-03-08T15:50:27+00:00</updated>
<author>
<name>Carlos Martín Nieto</name>
<email>cmn@dwim.me</email>
</author>
<published>2015-03-08T15:46:33+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/libgit2.git/commit/?id=d578b45f3fc8a95a279aa7dcf1a3585d5d7c1eab'/>
<id>d578b45f3fc8a95a279aa7dcf1a3585d5d7c1eab</id>
<content type='text'>
When we rename a reference, we want the old and new ids to be the same
one (as we did not change it). The normal code path looks up the old id
from the current value of the brtanch, but by the time we look it up, it
does not exist anymore and thus we write a zero id.

Pass the old id explicitly instead.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When we rename a reference, we want the old and new ids to be the same
one (as we did not change it). The normal code path looks up the old id
from the current value of the brtanch, but by the time we look it up, it
does not exist anymore and thus we write a zero id.

Pass the old id explicitly instead.
</pre>
</div>
</content>
</entry>
<entry>
<title>branch: fix generated reflog message upon renaming</title>
<updated>2015-03-04T21:09:49+00:00</updated>
<author>
<name>nulltoken</name>
<email>emeric.fermas@gmail.com</email>
</author>
<published>2015-03-04T21:01:20+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/libgit2.git/commit/?id=7eb7673406dea6ba9524af3987eb4a147b3b6718'/>
<id>7eb7673406dea6ba9524af3987eb4a147b3b6718</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>branch: fix generated reflog message upon creation</title>
<updated>2015-03-04T21:09:44+00:00</updated>
<author>
<name>nulltoken</name>
<email>emeric.fermas@gmail.com</email>
</author>
<published>2015-03-04T20:48:54+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/libgit2.git/commit/?id=015d4b7b386ac799416f58b52549b2201dd4f2c3'/>
<id>015d4b7b386ac799416f58b52549b2201dd4f2c3</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>config: borrow refcounted references</title>
<updated>2015-03-03T17:35:12+00:00</updated>
<author>
<name>Carlos Martín Nieto</name>
<email>cmn@dwim.me</email>
</author>
<published>2014-12-21T15:31:03+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/libgit2.git/commit/?id=9a97f49e3aa15edc479fc590f4b28fc44c155c40'/>
<id>9a97f49e3aa15edc479fc590f4b28fc44c155c40</id>
<content type='text'>
This changes the get_entry() method to return a refcounted version of
the config entry, which you have to free when you're done.

This allows us to avoid freeing the memory in which the entry is stored
on a refresh, which may happen at any time for a live config.

For this reason, get_string() has been forbidden on live configs and a
new function get_string_buf() has been added, which stores the string in
a git_buf which the user then owns.

The functions which parse the string value takea advantage of the
borrowing to parse safely and then release the entry.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This changes the get_entry() method to return a refcounted version of
the config entry, which you have to free when you're done.

This allows us to avoid freeing the memory in which the entry is stored
on a refresh, which may happen at any time for a live config.

For this reason, get_string() has been forbidden on live configs and a
new function get_string_buf() has been added, which stores the string in
a git_buf which the user then owns.

The functions which parse the string value takea advantage of the
borrowing to parse safely and then release the entry.
</pre>
</div>
</content>
</entry>
</feed>
