libgit2/include/git2
Carlos Martín Nieto 4d3f1f9740 treebuilder: use a map instead of vector to store the entries
Finding a filename in a vector means we need to resort it every time we
want to read from it, which includes every time we want to write to it
as well, as we want to find duplicate keys.

A hash-map fits what we want to do much more accurately, as we do not
care about sorting, but just the particular filename.

We still keep removed entries around, as the interface let you assume
they were going to be around until the treebuilder is cleared or freed,
but in this case that involves an append to a vector in the filter case,
which can now fail.

The only time we care about sorting is when we write out the tree, so
let's make that the only time we do any sorting.
2014-06-10 15:14:13 +02:00
..
sys Merge pull request #2188 from libgit2/cmn/config-snapshot 2014-05-12 10:04:52 -07:00
attr.h Update docs for new callback return value behavior 2013-12-11 10:57:50 -08:00
blame.h Make init_options fns use unsigned ints and macro 2014-05-02 09:21:33 -07:00
blob.h [Blob] Update documentation for is_binary. 2014-05-28 22:57:21 +03:00
branch.h Add GIT_BRANCH_ALL to git_branch_t enum 2014-04-16 18:51:16 +02:00
buffer.h Port tests from PR 1683 2013-09-17 09:31:45 -07:00
checkout.h Formatting fixes for the docs 2014-06-03 16:05:35 +02:00
cherrypick.h Fixed miscellaneous documentation errors. 2014-05-23 15:57:20 +08:00
clone.h clone: allow for linking in local clone 2014-05-28 15:40:47 +02:00
commit.h commit: safer commit creation with reference update 2014-04-30 00:41:37 +02:00
common.h opts: bits are not bytes 2014-03-24 13:21:51 +01:00
config.h config: document the how long the pointers are valid for 2014-04-18 16:07:33 +02:00
cred_helpers.h fixing headers with bad values for objective-c 2013-09-09 13:53:22 -04:00
diff.h Formatting fixes for the docs 2014-06-03 16:05:35 +02:00
errors.h Fixed miscellaneous documentation errors. 2014-05-23 15:57:20 +08:00
filter.h Use unsigned type for APIs with opt flag mask 2014-05-08 10:46:04 -07:00
graph.h Add git_graph_descendant_of. 2014-01-28 19:39:14 +01:00
ignore.h update copyrights 2013-01-08 17:31:27 -06:00
index.h index: split GIT_IDXENTRY into two flag enums 2014-06-03 16:05:36 +02:00
indexer.h Don't redefine the same callback types, their signatures may change 2014-04-21 11:28:49 +02:00
inttypes.h Unify whitespaces to tabs 2013-05-15 20:26:55 +08:00
merge.h Modify GIT_MERGE_CONFIG -> GIT_MERGE_PREFERENCE 2014-05-27 20:58:20 -05:00
message.h message: don't assume the comment char 2014-05-18 10:06:49 +02:00
net.h remote: expose the remote's symref mappings 2014-05-21 12:12:32 +02:00
notes.h note: rename the id getter to git_note_id() 2014-01-24 11:18:51 +01:00
object.h Doc fixes 2014-05-02 15:15:43 -07:00
odb_backend.h Take umask into account in filebuf_commit 2013-11-04 22:32:50 -05:00
odb.h Don't redefine the same callback types, their signatures may change 2014-04-21 11:28:49 +02:00
oid.h Make git_oid_equal a non-inline API 2014-02-20 11:00:31 -08:00
pack.h Don't redefine the same callback types, their signatures may change 2014-04-21 11:28:49 +02:00
patch.h Fix const-correctness of git_patch_get_delta, git_patch_num_hunks, git_patch_num_lines_in_hunk 2014-04-11 21:55:36 +02:00
pathspec.h pathspec: use C guards in header 2014-06-10 03:53:26 +02:00
push.h Make init_options fns use unsigned ints and macro 2014-05-02 09:21:33 -07:00
refdb.h Move git_reference__alloc to include/git2/sys 2013-04-21 12:52:17 -07:00
reflog.h Fixed miscellaneous documentation errors. 2014-05-23 15:57:20 +08:00
refs.h Fixed miscellaneous documentation errors. 2014-05-23 15:57:20 +08:00
refspec.h refspec: move to git_buf for outputting strings 2014-01-27 04:44:06 +01:00
remote.h remote: fix rename docs 2014-06-09 19:35:41 +02:00
repository.h Fixed miscellaneous documentation errors. 2014-05-23 15:57:20 +08:00
reset.h Formatting fixes for the docs 2014-06-03 16:05:35 +02:00
revert.h Fixed miscellaneous documentation errors. 2014-05-23 15:57:20 +08:00
revparse.h Some documentation improvements 2013-08-28 09:31:32 -07:00
revwalk.h Correcting format of comments in header file 2014-03-24 11:20:51 -07:00
signature.h Fixed miscellaneous documentation errors. 2014-05-23 15:57:20 +08:00
stash.h Update docs for new callback return value behavior 2013-12-11 10:57:50 -08:00
status.h Remove trace / add git_diff_perfdata struct + api 2014-05-02 09:21:33 -07:00
stdint.h msvc: Properly handle inttypes.h/stdint.h 2011-10-05 16:21:16 -04:00
strarray.h Unify whitespaces to tabs 2013-05-15 20:26:55 +08:00
submodule.h Fixed miscellaneous documentation errors. 2014-05-23 15:57:20 +08:00
tag.h tag: Introduce git_tag_annotation_create() 2013-05-21 19:32:59 +02:00
threads.h update copyrights 2013-01-08 17:31:27 -06:00
trace.h Remove trace / add git_diff_perfdata struct + api 2014-05-02 09:21:33 -07:00
transport.h Fix remaining init_options inconsistencies 2014-05-02 09:21:33 -07:00
tree.h treebuilder: use a map instead of vector to store the entries 2014-06-10 15:14:13 +02:00
types.h Formatting fixes for the docs 2014-06-03 16:05:35 +02:00
version.h Bump version to 0.21.0 2014-06-08 20:01:02 +02:00