buffer: Expose git_buf_put() to bindings #2892
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This should allow to more easily deal with filters from a binding standpoint.
In libgit2/libgit2sharp#854 and libgit2/libgit2sharp#946, filters invoke
git_buf_set()
to provide libgit2 with the result of the filtering.Instead of calling
git_buf_set()
once, the idea would be to invokegit_buf_put()
each time the binding callback outputs a chunk.This should provide the bindings with a stream-like approach when doing filters (working at the chunk level) until libgit2 provides a real stream oriented API for filters.
Another side effect will be to smoothen the overall memory pressure.