<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/libgit2.git/include/git2/sys, branch cmn/safe-commit</title>
<subtitle>github.com: libgit2/libgit2.git
</subtitle>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/libgit2.git/'/>
<entry>
<title>Add git_commit_amend API</title>
<updated>2014-02-08T00:17:59+00:00</updated>
<author>
<name>Russell Belfer</name>
<email>rb@github.com</email>
</author>
<published>2014-01-17T18:45:11+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/libgit2.git/commit/?id=80c29fe93e968fd73e861546e1a4cf33b514e3f6'/>
<id>80c29fe93e968fd73e861546e1a4cf33b514e3f6</id>
<content type='text'>
This adds an API to amend an existing commit, basically a shorthand
for creating a new commit filling in missing parameters from the
values of an existing commit.  As part of this, I also added a new
"sys" API to create a commit using a callback to get the parents.
This allowed me to rewrite all the other commit creation APIs so
that temporary allocations are no longer needed.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This adds an API to amend an existing commit, basically a shorthand
for creating a new commit filling in missing parameters from the
values of an existing commit.  As part of this, I also added a new
"sys" API to create a commit using a callback to get the parents.
This allowed me to rewrite all the other commit creation APIs so
that temporary allocations are no longer needed.
</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://91.123.203.49/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://91.123.203.49/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://91.123.203.49/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>commit: remvoe legacy 'oid' naming</title>
<updated>2014-01-25T07:15:44+00:00</updated>
<author>
<name>Carlos Martín Nieto</name>
<email>cmn@dwim.me</email>
</author>
<published>2014-01-24T11:01:34+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/libgit2.git/commit/?id=47e28349bc4874114e2cfce0b91c40938b105b25'/>
<id>47e28349bc4874114e2cfce0b91c40938b105b25</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge pull request #1920 from libgit2/cmn/ref-with-log</title>
<updated>2013-12-18T17:33:45+00:00</updated>
<author>
<name>Vicent Marti</name>
<email>vicent@github.com</email>
</author>
<published>2013-12-18T17:33:45+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/libgit2.git/commit/?id=4e1f517c61fef323b9cb3acedd19ce7859a8e546'/>
<id>4e1f517c61fef323b9cb3acedd19ce7859a8e546</id>
<content type='text'>
Reference operations with log</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Reference operations with log</pre>
</div>
</content>
</entry>
<entry>
<title>Cleanups, renames, and leak fixes</title>
<updated>2013-12-12T20:11:38+00:00</updated>
<author>
<name>Russell Belfer</name>
<email>rb@github.com</email>
</author>
<published>2013-12-12T20:11:38+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/libgit2.git/commit/?id=9cfce2735d77f4d8b6005e62349dd97c0c6de5ab'/>
<id>9cfce2735d77f4d8b6005e62349dd97c0c6de5ab</id>
<content type='text'>
This renames git_vector_free_all to the better git_vector_free_deep
and also contains a couple of memory leak fixes based on valgrind
checks.  The fixes are specifically: failure to free global dir
path variables when not compiled with threading on and failure to
free filters from the filter registry that had not be initialized
fully.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This renames git_vector_free_all to the better git_vector_free_deep
and also contains a couple of memory leak fixes based on valgrind
checks.  The fixes are specifically: failure to free global dir
path variables when not compiled with threading on and failure to
free filters from the filter registry that had not be initialized
fully.
</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://91.123.203.49/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://91.123.203.49/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://91.123.203.49/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>
