This PR adds support for the main git_filter_list features in libgit2.
pygit2
interface for libgit2 function
Repository.load_filter_list
git_filter_list_load
FilterList.apply_to_buffer
git_filter_list_apply_to_buffer
FilterList.apply_to_file
git_filter_list_apply_to_file
FilterList.apply_to_blob
git_filter_list_apply_to_blob
FilterList.__contains__
git_filter_list_contains
FilterList.__len__
git_filter_list_length
Important note: filter_unregister already exists in pygit2. Unregistering a filter while it's still in use in a FilterList would cause undefined behavior in libgit2. To prevent this, filter_unregister checks that the filter isn't in use in any live FilterLists before proceeding - otherwise, it raises RuntimeError. (To do so, I moved the implementation for filter_unregister from C to Python.)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 PR adds support for the main git_filter_list features in libgit2.
Important note: filter_unregister already exists in pygit2. Unregistering a filter while it's still in use in a FilterList would cause undefined behavior in libgit2. To prevent this, filter_unregister checks that the filter isn't in use in any live FilterLists before proceeding - otherwise, it raises RuntimeError. (To do so, I moved the implementation for filter_unregister from C to Python.)