Introduce a new `stream` module to `radicle::cob`. The purpose of this module is to provide an API for iterating over a COB's operations, given a range of commits. The `CobStream` trait provides the generic API for implementing and using, while `Stream` provides a concrete implementation using the `git2` crate. The approach is to use a `git2::Revwalk` for walking over each commit in the range, then loading the `Op` for that commit – skipping any commits that are unrelated to that COB type, in the case of associated COBs. The `Stream` is tested using some properties of the API. The next steps are to introduce specialised types for `Patch` and `Issue` to ensure that it works for those. |
||
|---|---|---|
| .. | ||
| src | ||
| Cargo.toml | ||