{"action":"created","issue":{"url":"https://api.github.com/repos/libgit2/libgit2sharp/issues/1030","labels_url":"https://api.github.com/repos/libgit2/libgit2sharp/issues/1030/labels{/name}","comments_url":"https://api.github.com/repos/libgit2/libgit2sharp/issues/1030/comments","events_url":"https://api.github.com/repos/libgit2/libgit2sharp/issues/1030/events","html_url":"https://github.com/libgit2/libgit2sharp/pull/1030","id":70526521,"number":1030,"title":"Streaming Filter Support","user":{"login":"whoisj","id":11578325,"avatar_url":"https://avatars.githubusercontent.com/u/11578325?v=3","gravatar_id":"","url":"https://api.github.com/users/whoisj","html_url":"https://github.com/whoisj","followers_url":"https://api.github.com/users/whoisj/followers","following_url":"https://api.github.com/users/whoisj/following{/other_user}","gists_url":"https://api.github.com/users/whoisj/gists{/gist_id}","starred_url":"https://api.github.com/users/whoisj/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/whoisj/subscriptions","organizations_url":"https://api.github.com/users/whoisj/orgs","repos_url":"https://api.github.com/users/whoisj/repos","events_url":"https://api.github.com/users/whoisj/events{/privacy}","received_events_url":"https://api.github.com/users/whoisj/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":41,"created_at":"2015-04-23T22:17:02Z","updated_at":"2015-05-28T19:36:26Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/libgit2/libgit2sharp/pulls/1030","html_url":"https://github.com/libgit2/libgit2sharp/pull/1030","diff_url":"https://github.com/libgit2/libgit2sharp/pull/1030.diff","patch_url":"https://github.com/libgit2/libgit2sharp/pull/1030.patch"},"body":"Completes the work started by @ammeep for getting filters working in Libgit2Sharp (thanks for the awesome starting point!). Makes use of the streaming filter infrastructure added by @ethomson in Libgit2 to minimize the memory footprint. The goal is to support the Git-LFS filter, so one has to assume the streams won't fit in memory.\r\n\r\nFairly simple design. Added a new `GitWriteStream` to wrap the native `git_writestream`, then implements all logic for doing the actual stream work in the `Filter` base class. The rest of the work was done by @ammeep :cool: \r\n\r\nFixes #1025"},"comment":{"url":"https://api.github.com/repos/libgit2/libgit2sharp/issues/comments/106574970","html_url":"https://github.com/libgit2/libgit2sharp/pull/1030#issuecomment-106574970","issue_url":"https://api.github.com/repos/libgit2/libgit2sharp/issues/1030","id":106574970,"user":{"login":"whoisj","id":11578325,"avatar_url":"https://avatars.githubusercontent.com/u/11578325?v=3","gravatar_id":"","url":"https://api.github.com/users/whoisj","html_url":"https://github.com/whoisj","followers_url":"https://api.github.com/users/whoisj/followers","following_url":"https://api.github.com/users/whoisj/following{/other_user}","gists_url":"https://api.github.com/users/whoisj/gists{/gist_id}","starred_url":"https://api.github.com/users/whoisj/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/whoisj/subscriptions","organizations_url":"https://api.github.com/users/whoisj/orgs","repos_url":"https://api.github.com/users/whoisj/repos","events_url":"https://api.github.com/users/whoisj/events{/privacy}","received_events_url":"https://api.github.com/users/whoisj/received_events","type":"User","site_admin":false},"created_at":"2015-05-28T19:36:26Z","updated_at":"2015-05-28T19:36:26Z","body":"I had a post with performance numbers, but I just realized that all data was incorrect. I've removed that post and am re-running all tests to acquire new numbers."}}