diff options
author | Edward Thomson <ethomson@github.com> | 2017-01-21 22:51:50 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-01-21 22:51:50 +0000 |
commit | 44e8af8f290d91c32fe3814658f2b4cabe9447fc (patch) | |
tree | fd84221392426283f18078d805ecaf64347b44ff /include | |
parent | 3b4eb107c21eb855dd651bc2e5904c0b29ece9b7 (diff) | |
parent | 87aaefe20b2e2fad8f0b8b236d1c23ce9ec5340f (diff) | |
download | libgit2-44e8af8f290d91c32fe3814658f2b4cabe9447fc.tar.gz |
Merge pull request #3892 from mitesch/shared_buffer
Use a shared buffer in calls of git_treebuilder_write to avoid heap contention
Diffstat (limited to 'include')
-rw-r--r-- | include/git2/tree.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/include/git2/tree.h b/include/git2/tree.h index 2e4735c4b..a38215f9f 100644 --- a/include/git2/tree.h +++ b/include/git2/tree.h @@ -375,6 +375,19 @@ GIT_EXTERN(void) git_treebuilder_filter( GIT_EXTERN(int) git_treebuilder_write( git_oid *id, git_treebuilder *bld); +/** + * Write the contents of the tree builder as a tree object + * using a shared git_buf. + * + * @see git_treebuilder_write + * + * @param id Pointer to store the OID of the newly written tree + * @param bld Tree builder to write + * @param tree Shared buffer for writing the tree. Will be grown as necessary. + * @return 0 or an error code + */ +GIT_EXTERN(int) git_treebuilder_write_with_buffer( + git_oid *oid, git_treebuilder *bld, git_buf *tree); /** Callback for the tree traversal method */ typedef int (*git_treewalk_cb)( |