{"shas":[["bb3de0c472b2d5d6b8091c190bee3db79c4b5e27","6838a7c51796da15c3e6eae80ee6aba806e8818a@gmail.com","Thread safe cache","Vicent Marti"],["72a3fe42fb7208712bbe8f0981f4c6274c05e9c3","6838a7c51796da15c3e6eae80ee6aba806e8818a@gmail.com","I broke your bindings\n\nHey. Apologies in advance -- I broke your bindings.\n\nThis is a major commit that includes a long-overdue redesign of the\nwhole object-database structure. This is expected to be the last major\nexternal API redesign of the library until the first non-alpha release.\n\nPlease get your bindings up to date with these changes. They will be\nincluded in the next minor release. Sorry again!\n\nMajor features include:\n\n\t- Real caching and refcounting on parsed objects\n\t- Real caching and refcounting on objects read from the ODB\n\t- Streaming writes & reads from the ODB\n\t- Single-method writes for all object types\n\t- The external API is now partially thread-safe\n\nThe speed increases are significant in all aspects, specially when\nreading an object several times from the ODB (revwalking) and when\nwriting big objects to the ODB.\n\nHere's a full changelog for the external API:\n\nblob.h\n------\n\n\t- Remove `git_blob_new`\n\t- Remove `git_blob_set_rawcontent`\n\t- Remove `git_blob_set_rawcontent_fromfile`\n\t- Rename `git_blob_writefile` -> `git_blob_create_fromfile`\n\t- Change `git_blob_create_fromfile`:\n\t\tThe `path` argument is now relative to the repository's working dir\n\t- Add `git_blob_create_frombuffer`\n\ncommit.h\n--------\n\n\t- Remove `git_commit_new`\n\t- Remove `git_commit_add_parent`\n\t- Remove `git_commit_set_message`\n\t- Remove `git_commit_set_committer`\n\t- Remove `git_commit_set_author`\n\t- Remove `git_commit_set_tree`\n\n\t- Add `git_commit_create`\n\t- Add `git_commit_create_v`\n\t- Add `git_commit_create_o`\n\t- Add `git_commit_create_ov`\n\ntag.h\n-----\n\n\t- Remove `git_tag_new`\n\t- Remove `git_tag_set_target`\n\t- Remove `git_tag_set_name`\n\t- Remove `git_tag_set_tagger`\n\t- Remove `git_tag_set_message`\n\n\t- Add `git_tag_create`\n\t- Add `git_tag_create_o`\n\ntree.h\n------\n\n\t- Change `git_tree_entry_2object`:\n\t\tNew signature is `(git_object **object_out, git_repository *repo, git_tree_entry *entry)`\n\n\t- Remove `git_tree_new`\n\t- Remove `git_tree_add_entry`\n\t- Remove `git_tree_remove_entry_byindex`\n\t- Remove `git_tree_remove_entry_byname`\n\t- Remove `git_tree_clearentries`\n\t- Remove `git_tree_entry_set_id`\n\t- Remove `git_tree_entry_set_name`\n\t- Remove `git_tree_entry_set_attributes`\n\nobject.h\n------------\n\n\t- Remove `git_object_new\n\t- Remove `git_object_write`\n\n\t- Change `git_object_close`:\n\t\tThis method is now *mandatory*. Not closing an object causes a\n\t\tmemory leak.\n\nodb.h\n-----\n\n\t- Remove type `git_rawobj`\n\t- Remove `git_rawobj_close`\n\t- Rename `git_rawobj_hash` -> `git_odb_hash`\n\t- Change `git_odb_hash`:\n\t\tNew signature is `(git_oid *id, const void *data, size_t len, git_otype type)`\n\n\t- Add type `git_odb_object`\n\t- Add `git_odb_object_close`\n\n\t- Change `git_odb_read`:\n\t\tNew signature is `(git_odb_object **out, git_odb *db, const git_oid *id)`\n\t- Change `git_odb_read_header`:\n\t\tNew signature is `(size_t *len_p, git_otype *type_p, git_odb *db, const git_oid *id)`\n\t- Remove `git_odb_write`\n\t- Add `git_odb_open_wstream`\n\t- Add `git_odb_open_rstream`\n\nodb_backend.h\n-------------\n\n\t- Change type `git_odb_backend`:\n\t\tNew internal signatures are as follows\n\n\t\t\tint (* read)(void **, size_t *, git_otype *, struct git_odb_backend *, const git_oid *)\n\t\t\tint (* read_header)(size_t *, git_otype *, struct git_odb_backend *, const git_oid *)\n\t\t\tint (* writestream)(struct git_odb_stream **, struct git_odb_backend *, size_t, git_otype)\n\t\t\tint (* readstream)( struct git_odb_stream **, struct git_odb_backend *, const git_oid *)\n\n\t- Add type `git_odb_stream`\n\t- Add enum `git_odb_streammode`\n\nSigned-off-by: Vicent Marti <tanoku@gmail.com>","Vicent Marti"],["99baacfb5687c266df78be4442d30f2f2dc19a28","6838a7c51796da15c3e6eae80ee6aba806e8818a@gmail.com","Fix MSVC warnings","Vicent Marti"],["70236bab2d64a4d34203b4e2bbc5d8f518ba618d","6838a7c51796da15c3e6eae80ee6aba806e8818a@gmail.com","Update CMakeLists.txt to support threadsafe","Vicent Marti"]],"repo":"ISF/libgit2","actor":"ISF","ref":"refs/heads/development","size":4,"head":"70236bab2d64a4d34203b4e2bbc5d8f518ba618d","actor_gravatar":"c5f68105fbd0e10edc60153f2417485e","push_id":27211425}