libgit2/tests-clar/core
Russell Belfer 41a82592ef Ranged iterators and rewritten git_status_file
The goal of this work is to rewrite git_status_file to use the
same underlying code as git_status_foreach.

This is done in 3 phases:

1. Extend iterators to allow ranged iteration with start and
   end prefixes for the range of file names to be covered.
2. Improve diff so that when there is a pathspec and there is
   a common non-wildcard prefix of the pathspec, it will use
   ranged iterators to minimize excess iteration.
3. Rewrite git_status_file to call git_status_foreach_ext
   with a pathspec that covers just the one file being checked.

Since ranged iterators underlie the status & diff implementation,
this is actually fairly efficient.  The workdir iterator does
end up loading the contents of all the directories down to the
single file, which should ideally be avoided, but it is pretty
good.
2012-05-15 14:34:15 -07:00
..
buffer.c Ranged iterators and rewritten git_status_file 2012-05-15 14:34:15 -07:00
dirent.c Add a test to verify FILENAME_MAX 2012-05-13 23:12:51 -07:00
errors.c Remove old and unused error codes 2012-05-02 19:56:38 -07:00
filebuf.c error-handling: References 2012-03-06 00:43:10 +01:00
hex.c Rename the Clay test suite to Clar 2012-01-24 20:35:15 -08:00
oid.c Migrate index, oid, and utils to new errors 2012-03-19 16:10:11 -07:00
path.c compat: make p_realpath Windows implementation be a bit more POSIX compliant and fail if the provided path does not lead to an existing entry 2012-05-08 10:05:18 +02:00
pool.c Convert attrs and diffs to use string pools 2012-04-25 10:42:37 -07:00
rmdir.c fileops: Make git_futils_mkdir_r() able to skip non-empty directories 2012-04-10 21:39:05 +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 Rename the Clay test suite to Clar 2012-01-24 20:35:15 -08:00