<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/libgit2.git/src/iterator.c, branch cmn/pack-objects-report</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>git_path_diriter: use FindFirstFile in win32</title>
<updated>2015-05-01T16:31:40+00:00</updated>
<author>
<name>Edward Thomson</name>
<email>ethomson@microsoft.com</email>
</author>
<published>2015-04-29T21:23:02+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/libgit2.git/commit/?id=f63a1b729bc74e1e72f80f75843b8f2042f3f81f'/>
<id>f63a1b729bc74e1e72f80f75843b8f2042f3f81f</id>
<content type='text'>
Using FindFirstFile and FindNextFile in win32 allows us to
use the directory information that is returned, instead of
us having to get the file attributes all over again, which
is a distinct cost savings on win32.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Using FindFirstFile and FindNextFile in win32 allows us to
use the directory information that is returned, instead of
us having to get the file attributes all over again, which
is a distinct cost savings on win32.
</pre>
</div>
</content>
</entry>
<entry>
<title>git_path_diriter: next shouldn't take path ptr</title>
<updated>2015-05-01T16:31:29+00:00</updated>
<author>
<name>Edward Thomson</name>
<email>ethomson@microsoft.com</email>
</author>
<published>2015-04-29T18:31:59+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/libgit2.git/commit/?id=5c387b6c5a616d245e51e4ca1935e6ffd78c710e'/>
<id>5c387b6c5a616d245e51e4ca1935e6ffd78c710e</id>
<content type='text'>
The _next method shouldn't take a path pointer (and a path_len
pointer) as 100% of current users use the full path and ignore
the filename.

Plus let's add some docs and a unit test.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The _next method shouldn't take a path pointer (and a path_len
pointer) as 100% of current users use the full path and ignore
the filename.

Plus let's add some docs and a unit test.
</pre>
</div>
</content>
</entry>
<entry>
<title>git_path_dirload_with_stat: moved to fs_iterator</title>
<updated>2015-05-01T16:31:26+00:00</updated>
<author>
<name>Edward Thomson</name>
<email>ethomson@microsoft.com</email>
</author>
<published>2015-04-29T18:04:01+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/libgit2.git/commit/?id=7ef005f165518a9f76774c392fa2895dc1b34c96'/>
<id>7ef005f165518a9f76774c392fa2895dc1b34c96</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>git_win32_path_dirload_with_stat: removed</title>
<updated>2015-05-01T16:31:14+00:00</updated>
<author>
<name>Edward Thomson</name>
<email>ethomson@microsoft.com</email>
</author>
<published>2015-04-29T18:03:20+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/libgit2.git/commit/?id=35c1d20750cab4c3c1f86d1668bdb95213a25c4d'/>
<id>35c1d20750cab4c3c1f86d1668bdb95213a25c4d</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Improvements to status performance on Windows.</title>
<updated>2015-04-28T18:25:02+00:00</updated>
<author>
<name>J Wyman</name>
<email>jeremy.wyman@microsoft.com</email>
</author>
<published>2015-03-26T22:10:24+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/libgit2.git/commit/?id=1920ee4ef6096f888a9bb19bc329424d2c7ee656'/>
<id>1920ee4ef6096f888a9bb19bc329424d2c7ee656</id>
<content type='text'>
Changed win32/path_w32.c to utilize NTFS' FindFirst..FindNext data instead of doing an lstat per file. Avoiding unnecessary directory opens and file scans reduces IO, improving overall performance. Effect is magnified due to NTFS being a kernel mode file system (as opposed to user mode).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Changed win32/path_w32.c to utilize NTFS' FindFirst..FindNext data instead of doing an lstat per file. Avoiding unnecessary directory opens and file scans reduces IO, improving overall performance. Effect is magnified due to NTFS being a kernel mode file system (as opposed to user mode).
</pre>
</div>
</content>
</entry>
<entry>
<title>Improvements to ignore performance on Windows.</title>
<updated>2015-04-28T18:24:58+00:00</updated>
<author>
<name>J Wyman</name>
<email>jeremy.wyman@microsoft.com</email>
</author>
<published>2015-03-30T21:07:44+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/libgit2.git/commit/?id=4c09e19a3764a1e5f3340dabf8104dfed32e7673'/>
<id>4c09e19a3764a1e5f3340dabf8104dfed32e7673</id>
<content type='text'>
Minimizing the number directory and file opens, minimizes the amount of IO thus reducing the overall cost of performing ignore operations.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Minimizing the number directory and file opens, minimizes the amount of IO thus reducing the overall cost of performing ignore operations.
</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://91.123.203.49/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>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://91.123.203.49/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>Plug leaks</title>
<updated>2014-11-23T14:51:31+00:00</updated>
<author>
<name>Carlos Martín Nieto</name>
<email>cmn@dwim.me</email>
</author>
<published>2014-11-23T13:12:54+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/libgit2.git/commit/?id=f7fcb18f8a7541bfc0228967fcbd916a9f515638'/>
<id>f7fcb18f8a7541bfc0228967fcbd916a9f515638</id>
<content type='text'>
Valgrind is now clean except for libssl and libgcrypt.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Valgrind is now clean except for libssl and libgcrypt.
</pre>
</div>
</content>
</entry>
<entry>
<title>iterator: submodules are determined by an index or tree</title>
<updated>2014-11-07T07:33:27+00:00</updated>
<author>
<name>Carlos Martín Nieto</name>
<email>cmn@dwim.me</email>
</author>
<published>2014-11-06T15:16:46+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/libgit2.git/commit/?id=62a617dc683c1e73eebd0e1b6209f76748e67ed4'/>
<id>62a617dc683c1e73eebd0e1b6209f76748e67ed4</id>
<content type='text'>
We cannot know from looking at .gitmodules whether a directory is a
submodule or not. We need the index or tree we are comparing against to
tell us. Otherwise we have to assume the entry in .gitmodules is stale
or otherwise invalid.

Thus we pass the index of the repository into the workdir iterator, even
if we do not want to compare against it. This follows what git does,
which even for `git diff &lt;tree&gt;`, it will consider staged submodules as
such.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We cannot know from looking at .gitmodules whether a directory is a
submodule or not. We need the index or tree we are comparing against to
tell us. Otherwise we have to assume the entry in .gitmodules is stale
or otherwise invalid.

Thus we pass the index of the repository into the workdir iterator, even
if we do not want to compare against it. This follows what git does,
which even for `git diff &lt;tree&gt;`, it will consider staged submodules as
such.
</pre>
</div>
</content>
</entry>
</feed>
