<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/libgit2.git/src/refdb.c, branch cmn/remove-single-entry</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>refdb and odb backends must provide `free` function</title>
<updated>2015-09-30T22:50:37+00:00</updated>
<author>
<name>Arthur Schreiber</name>
<email>schreiber.arthur@googlemail.com</email>
</author>
<published>2015-09-30T22:50:37+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=d3b29fb94bf1c1d0caec39b4a2c3d2061c63efec'/>
<id>d3b29fb94bf1c1d0caec39b4a2c3d2061c63efec</id>
<content type='text'>
As refdb and odb backends can be allocated by client code, libgit2
can’t know whether an alternative memory allocator was used, and thus
should not try to call `git__free` on those objects.

Instead, odb and refdb backend implementations must always provide
their own `free` functions to ensure memory gets freed correctly.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
As refdb and odb backends can be allocated by client code, libgit2
can’t know whether an alternative memory allocator was used, and thus
should not try to call `git__free` on those objects.

Instead, odb and refdb backend implementations must always provide
their own `free` functions to ensure memory gets freed correctly.
</pre>
</div>
</content>
</entry>
<entry>
<title>Introduce reference transactions</title>
<updated>2014-09-30T13:44:32+00:00</updated>
<author>
<name>Carlos Martín Nieto</name>
<email>cmn@dwim.me</email>
</author>
<published>2014-06-28T04:39:38+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=ab8d9242f54e2c570f86a45a509b9420911a4d44'/>
<id>ab8d9242f54e2c570f86a45a509b9420911a4d44</id>
<content type='text'>
A transaction allows you to lock multiple references and set up changes
for them before applying the changes all at once (or as close as the
backend supports).

This can be used for replication purposes, or for making sure some
operations run when the reference is locked and thus cannot be changed.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
A transaction allows you to lock multiple references and set up changes
for them before applying the changes all at once (or as close as the
backend supports).

This can be used for replication purposes, or for making sure some
operations run when the reference is locked and thus cannot be changed.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix remaining init_options inconsistencies</title>
<updated>2014-05-02T16:21:33+00:00</updated>
<author>
<name>Russell Belfer</name>
<email>rb@github.com</email>
</author>
<published>2014-04-30T18:16:31+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=bc91347b5894c98964a12c6637d5ca91d9723b42'/>
<id>bc91347b5894c98964a12c6637d5ca91d9723b42</id>
<content type='text'>
There were a couple of "init_opts()" functions a few more cases
of structure initialization that I somehow missed.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
There were a couple of "init_opts()" functions a few more cases
of structure initialization that I somehow missed.
</pre>
</div>
</content>
</entry>
<entry>
<title>Added function-based initializers for every options struct.</title>
<updated>2014-03-06T02:49:23+00:00</updated>
<author>
<name>Matthew Bowen</name>
<email>matthew@mgbowen.com</email>
</author>
<published>2014-03-06T02:49:23+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=b9f819978c571cc806827e8b3ebc1a58a0755999'/>
<id>b9f819978c571cc806827e8b3ebc1a58a0755999</id>
<content type='text'>
The basic structure of each function is courtesy of arrbee.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The basic structure of each function is courtesy of arrbee.
</pre>
</div>
</content>
</entry>
<entry>
<title>refs: placeholder conditional delete</title>
<updated>2014-02-05T11:07:57+00:00</updated>
<author>
<name>Carlos Martín Nieto</name>
<email>cmn@dwim.me</email>
</author>
<published>2014-02-05T10:07:34+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=7ee8c7e6776a3c5b3a45cfd10ccf205eebb3f3fe'/>
<id>7ee8c7e6776a3c5b3a45cfd10ccf205eebb3f3fe</id>
<content type='text'>
We don't actually pass the old value yet.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We don't actually pass the old value yet.
</pre>
</div>
</content>
</entry>
<entry>
<title>refdb: add conditional symbolic updates</title>
<updated>2014-02-05T11:07:56+00:00</updated>
<author>
<name>Carlos Martín Nieto</name>
<email>cmn@dwim.me</email>
</author>
<published>2014-02-04T21:04:00+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=911236619b5d774e33dd9f3de92a7c86c2befb26'/>
<id>911236619b5d774e33dd9f3de92a7c86c2befb26</id>
<content type='text'>
Add a parameter to the backend to allow checking for the old symbolic
target.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add a parameter to the backend to allow checking for the old symbolic
target.
</pre>
</div>
</content>
</entry>
<entry>
<title>refs: conditional ref updates</title>
<updated>2014-02-05T11:07:56+00:00</updated>
<author>
<name>Carlos Martín Nieto</name>
<email>cmn@dwim.me</email>
</author>
<published>2013-12-18T18:58:16+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=9b148098e6802f9dd797471fc4f20cfc58a846b4'/>
<id>9b148098e6802f9dd797471fc4f20cfc58a846b4</id>
<content type='text'>
Allow updating references if the old value matches the given one.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Allow updating references if the old value matches the given one.
</pre>
</div>
</content>
</entry>
<entry>
<title>refs: expose has_log() on the backend</title>
<updated>2013-12-09T14:55:11+00:00</updated>
<author>
<name>Carlos Martín Nieto</name>
<email>cmn@dwim.me</email>
</author>
<published>2013-11-23T13:39:53+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=f21051297cc698644ea0dc9c7122ec944dba2863'/>
<id>f21051297cc698644ea0dc9c7122ec944dba2863</id>
<content type='text'>
The frontend used to look at the file directly, but that's obviously not
the right thing to do. Expose it on the backend and use that function
instead.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The frontend used to look at the file directly, but that's obviously not
the right thing to do. Expose it on the backend and use that function
instead.
</pre>
</div>
</content>
</entry>
<entry>
<title>refs: expose a way to ensure a ref has a log</title>
<updated>2013-12-09T14:55:11+00:00</updated>
<author>
<name>Carlos Martín Nieto</name>
<email>cmn@dwim.me</email>
</author>
<published>2013-11-23T13:13:01+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=8d5ec9106afbca346a8def84ef20de0a7ba2240a'/>
<id>8d5ec9106afbca346a8def84ef20de0a7ba2240a</id>
<content type='text'>
Sometimes (e.g. stash) we want to make sure that a log will be written,
even if it's not in one of the standard locations. Let's make that
easier.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Sometimes (e.g. stash) we want to make sure that a log will be written,
even if it's not in one of the standard locations. Let's make that
easier.
</pre>
</div>
</content>
</entry>
<entry>
<title>reflog: integrate into the ref writing</title>
<updated>2013-11-23T13:55:02+00:00</updated>
<author>
<name>Carlos Martín Nieto</name>
<email>cmn@dwim.me</email>
</author>
<published>2013-11-13T17:15:20+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=a57dd3b7a46c9a2f87f203f1ab372fa28e10e571'/>
<id>a57dd3b7a46c9a2f87f203f1ab372fa28e10e571</id>
<content type='text'>
Whenever a reference is created or updated, we need to write to the
reflog regardless of whether the user gave us a message, so we shouldn't
leave that to the ref frontend, but integrate it into the backend.

This also eliminates the race between ref update and writing to the
reflog, as we protect the reflog with the ref lock.

As an additional benefit, this reflog append on the backend happens by
appending to the file instead of parsing and rewriting it.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Whenever a reference is created or updated, we need to write to the
reflog regardless of whether the user gave us a message, so we shouldn't
leave that to the ref frontend, but integrate it into the backend.

This also eliminates the race between ref update and writing to the
reflog, as we protect the reflog with the ref lock.

As an additional benefit, this reflog append on the backend happens by
appending to the file instead of parsing and rewriting it.
</pre>
</div>
</content>
</entry>
</feed>
