libgit2/tests-clar/repo
Russell Belfer e40f1c2d23 Make tree iterator handle icase equivalence
There is a serious bug in the previous tree iterator implementation.
If case insensitivity resulted in member elements being equivalent
to one another, and those member elements were trees, then the
children of the colliding elements would be processed in sequence
instead of in a single flattened list.  This meant that the tree
iterator was not truly acting like a case-insensitive list.

This completely reworks the tree iterator to manage lists with
case insensitive equivalence classes and advance through the items
in a unified manner in a single sorted frame.

It is possible that at a future date we might want to update this
to separate the case insensitive and case sensitive tree iterators
so that the case sensitive one could be a minimal amount of code
and the insensitive one would always know what it needed to do
without checking flags.

But there would be so much shared code between the two, that I'm
not sure it that's a win.  For now, this gets what we need.

More tests are needed, though.
2013-03-08 16:39:57 -08:00
..
discover.c Extensions to rmdir and mkdir utilities 2012-11-09 13:52:06 -08:00
getters.c repo: ensure is_empty() checks there are no refs 2012-11-17 07:20:08 -08:00
hashfile.c Add tests and improve param checks 2012-09-11 17:26:21 -07:00
head.c Rename ref and reflog apis for consistency 2012-11-27 13:17:45 -08:00
headtree.c repo: Make git_repository_head_tree() return error codes 2012-11-22 18:51:06 +01:00
init.c Make mode handling during init more like git 2013-02-27 13:44:15 -08:00
iterator.c Make tree iterator handle icase equivalence 2013-03-08 16:39:57 -08:00
message.c tests: fix indentation in repo/message.c 2013-02-07 03:12:39 -08:00
open.c Extensions to rmdir and mkdir utilities 2012-11-09 13:52:06 -08:00
repo_helpers.c Rename ref and reflog apis for consistency 2012-11-27 13:17:45 -08:00
repo_helpers.h repository: Refine repository_head() error report 2012-11-12 00:14:51 +01:00
setters.c Reset all static variables to NULL in clar's __cleanup 2012-11-23 11:41:56 +01:00
state.c repo: fix state when HEAD is not detached 2012-11-04 12:13:42 -06:00