libgit2/tests-clar/core
Russell Belfer 0c46863384 Improved tree iterator internals
This updates the tree iterator internals to be more efficient.

The tree_iterator_entry objects are now kept as pointers that are
allocated from a git_pool, so that we may use git__tsort_r for
sorting (which is better than qsort, given that the tree is
likely mostly ordered already).

Those tree_iterator_entry objects now keep direct pointers to the
data they refer to instead of keeping indirect index values.  This
simplifies a lot of the data structure traversal code.

This also adds bsearch to find the start item position for range-
limited tree iterators, and is more explicit about using
git_path_cmp instead of reimplementing it.  The git_path_cmp
changed a bit to make it easier for tree_iterators to use it (but
it was barely being used previously, so not a big deal).

This adds a git_pool_free_array function that efficiently frees a
list of pool allocated pointers (which the tree_iterator keeps).
Also, added new tests for the git_pool free list functionality
that was not previously being tested (or used).
2013-03-14 13:40:15 -07:00
..
buffer.c Refine pluggable similarity API 2013-02-20 15:09:41 -08:00
copy.c Extensions to rmdir and mkdir utilities 2012-11-09 13:52:06 -08:00
dirent.c Add a test to verify FILENAME_MAX 2012-05-13 23:12:51 -07:00
env.c Clear up warnings from cppcheck 2013-02-15 16:02:45 -08:00
errors.c Make giterr_set_str public 2012-09-21 15:04:39 -07:00
filebuf.c misc: Fix warnings from PVS Studio trial 2012-06-07 22:43:48 +02:00
hex.c Rename the Clay test suite to Clar 2012-01-24 20:35:15 -08:00
mkdir.c Extensions to rmdir and mkdir utilities 2012-11-09 13:52:06 -08:00
oid.c Migrate index, oid, and utils to new errors 2012-03-19 16:10:11 -07:00
opts.c opts: Some basic tests 2013-01-24 00:09:55 +01:00
path.c Fix some incorrect MSVC #ifdef's. Fixes #1305 2013-02-11 09:25:57 -05:00
pool.c Improved tree iterator internals 2013-03-14 13:40:15 -07:00
rmdir.c Extensions to rmdir and mkdir utilities 2012-11-09 13:52:06 -08:00
stat.c Update clar tests p_lstat_posixly and p_lstat 2012-11-20 00:57:56 -02:00
string.c Rename the Clay test suite to Clar 2012-01-24 20:35:15 -08:00
strmap.c Rename git_khash_str to git_strmap, etc. 2012-04-25 15:20:28 -07:00
strtol.c Rename the Clay test suite to Clar 2012-01-24 20:35:15 -08:00
vector.c Fix up some missing consts in tree & index 2012-11-27 13:18:29 -08:00