<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/libgit2.git/src/filebuf.c, branch longpath-printf</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>filebuf: follow symlinks when creating a lock file</title>
<updated>2015-09-05T14:43:49+00:00</updated>
<author>
<name>Carlos Martín Nieto</name>
<email>cmn@dwim.me</email>
</author>
<published>2015-09-05T01:54:06+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=d83b2e9f51539287d5d2b1bd939ea9540fa6e5be'/>
<id>d83b2e9f51539287d5d2b1bd939ea9540fa6e5be</id>
<content type='text'>
We create a lockfile to update files under GIT_DIR. Sometimes these
files are actually located elsewhere and a symlink takes their place. In
that case we should lock and update the file at its final location
rather than overwrite the symlink.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We create a lockfile to update files under GIT_DIR. Sometimes these
files are actually located elsewhere and a symlink takes their place. In
that case we should lock and update the file at its final location
rather than overwrite the symlink.
</pre>
</div>
</content>
</entry>
<entry>
<title>filebuf: remove lockfile upon rename errors</title>
<updated>2015-07-24T21:02:11+00:00</updated>
<author>
<name>Carlos Martín Nieto</name>
<email>cmn@dwim.me</email>
</author>
<published>2015-07-24T17:22:41+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=19d9beb7ffbde3e171c17fc3544d508304a30fbf'/>
<id>19d9beb7ffbde3e171c17fc3544d508304a30fbf</id>
<content type='text'>
When we have an error renaming the lockfile, we need to make sure
that we remove it upon cleanup. For this, we need to keep track of
whether we opened the file and whether the rename succeeded.

If we did create the lockfile but the rename did not succeed, we
remove the lockfile. This won't protect against all errors, but
the most common ones (target file is open) does get handled.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When we have an error renaming the lockfile, we need to make sure
that we remove it upon cleanup. For this, we need to keep track of
whether we opened the file and whether the rename succeeded.

If we did create the lockfile but the rename did not succeed, we
remove the lockfile. This won't protect against all errors, but
the most common ones (target file is open) does get handled.
</pre>
</div>
</content>
</entry>
<entry>
<title>centralizing all IO buffer size values</title>
<updated>2015-05-11T17:32:08+00:00</updated>
<author>
<name>J Wyman</name>
<email>jeremy.wyman@microsoft.com</email>
</author>
<published>2015-05-11T17:19:25+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=7dd2253826a027c05f5562a70f21ae396ea38c6f'/>
<id>7dd2253826a027c05f5562a70f21ae396ea38c6f</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>filebuf: use an int for return check</title>
<updated>2015-02-13T14:28:05+00:00</updated>
<author>
<name>Edward Thomson</name>
<email>ethomson@edwardthomson.com</email>
</author>
<published>2015-02-12T22:14:53+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=8aab36a3010372edec71e8c765d4ecfd848c09b6'/>
<id>8aab36a3010372edec71e8c765d4ecfd848c09b6</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Make our overflow check look more like gcc/clang's</title>
<updated>2015-02-13T14:27:33+00:00</updated>
<author>
<name>Edward Thomson</name>
<email>ethomson@microsoft.com</email>
</author>
<published>2015-02-12T17:19:37+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=f1453c59b2afb9dab43281bfe9f1ba34cf6e0d02'/>
<id>f1453c59b2afb9dab43281bfe9f1ba34cf6e0d02</id>
<content type='text'>
Make our overflow checking look more like gcc and clang's, so that
we can substitute it out with the compiler instrinsics on platforms
that support it.  This means dropping the ability to pass `NULL` as
an out parameter.

As a result, the macros also get updated to reflect this as well.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Make our overflow checking look more like gcc and clang's, so that
we can substitute it out with the compiler instrinsics on platforms
that support it.  This means dropping the ability to pass `NULL` as
an out parameter.

As a result, the macros also get updated to reflect this as well.
</pre>
</div>
</content>
</entry>
<entry>
<title>Use `size_t` to hold size of arrays</title>
<updated>2015-02-13T03:54:47+00:00</updated>
<author>
<name>Edward Thomson</name>
<email>ethomson@microsoft.com</email>
</author>
<published>2015-02-11T16:20:05+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=ec3b4d35f636c26d3c9b5703c3b7f87683800af8'/>
<id>ec3b4d35f636c26d3c9b5703c3b7f87683800af8</id>
<content type='text'>
Use `size_t` to hold the size of arrays to ease overflow checking,
lest we check for overflow of a `size_t` then promptly truncate
by packing the length into a smaller type.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Use `size_t` to hold the size of arrays to ease overflow checking,
lest we check for overflow of a `size_t` then promptly truncate
by packing the length into a smaller type.
</pre>
</div>
</content>
</entry>
<entry>
<title>allocations: test for overflow of requested size</title>
<updated>2015-02-13T03:54:46+00:00</updated>
<author>
<name>Edward Thomson</name>
<email>ethomson@microsoft.com</email>
</author>
<published>2015-02-10T04:41:13+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=392702ee2c88d7d8aaff25f7a84acb73606f9094'/>
<id>392702ee2c88d7d8aaff25f7a84acb73606f9094</id>
<content type='text'>
Introduce some helper macros to test integer overflow from arithmetic
and set error message appropriately.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Introduce some helper macros to test integer overflow from arithmetic
and set error message appropriately.
</pre>
</div>
</content>
</entry>
<entry>
<title>filebuf: make unlocking atomic</title>
<updated>2014-06-04T18:58:18+00:00</updated>
<author>
<name>Carlos Martín Nieto</name>
<email>cmn@dwim.me</email>
</author>
<published>2014-04-04T12:40:38+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=e58281aaba90a79bbe3206b0e876c09839541c01'/>
<id>e58281aaba90a79bbe3206b0e876c09839541c01</id>
<content type='text'>
When renaming a lock file to its final location, we need to make sure
that it is replaced atomically.

We currently have a workaround for Windows by removing the target file.
This means that the target file, which may be a ref or a packfile, may
cease to exist for a short wile, which shold be avoided.

Implement the workaround only in Windows, by making sure that the file
we want to replace is writable.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When renaming a lock file to its final location, we need to make sure
that it is replaced atomically.

We currently have a workaround for Windows by removing the target file.
This means that the target file, which may be a ref or a packfile, may
cease to exist for a short wile, which shold be avoided.

Implement the workaround only in Windows, by making sure that the file
we want to replace is writable.
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove now-duplicated stdarg.h include</title>
<updated>2014-02-25T07:32:25+00:00</updated>
<author>
<name>Edward Thomson</name>
<email>ethomson@microsoft.com</email>
</author>
<published>2014-02-25T07:32:25+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=4f46a98b6e419bd98765e18ce7fc64e3562dbd09'/>
<id>4f46a98b6e419bd98765e18ce7fc64e3562dbd09</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>move mode_t to filebuf_open instead of _commit</title>
<updated>2013-11-05T03:33:05+00:00</updated>
<author>
<name>Edward Thomson</name>
<email>ethomson@microsoft.com</email>
</author>
<published>2013-11-04T23:28:57+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=1d3a8aeb4bd032d0bf34039fbcb308fba06b862a'/>
<id>1d3a8aeb4bd032d0bf34039fbcb308fba06b862a</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
