radicle-heartwood-lfs/crates/radicle/src
Fintan Halpenny c0ac228c37 radicle: introduce COB stream
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.
2025-08-19 14:49:51 +01:00
..
canonical chore: Automated fixes generated by clippy 2025-07-25 11:25:05 +02:00
cob radicle: introduce COB stream 2025-08-19 14:49:51 +01:00
git radicle: fix Canonical::quorum doc link 2025-08-05 15:00:26 +01:00
identity chore: Automated fixes generated by clippy 2025-07-25 11:25:05 +02:00
logger radicle: Move logging setup calls to binaries 2025-08-07 08:30:59 +01:00
node radicle/config/node: Use newtypes 2025-08-19 13:16:19 +02:00
profile radicle: improve config errors 2025-06-24 13:51:55 +02:00
storage cob: add method for loading entry manifest 2025-08-19 14:27:35 +01:00
test cob: add method for loading entry manifest 2025-08-19 14:27:35 +01:00
canonical.rs repo: Move workspace crates into `crates` subdirectory 2025-06-09 15:09:21 +02:00
cli.rs repo: Move workspace crates into `crates` subdirectory 2025-06-09 15:09:21 +02:00
cob.rs radicle: introduce COB stream 2025-08-19 14:49:51 +01:00
collections.rs repo: Move workspace crates into `crates` subdirectory 2025-06-09 15:09:21 +02:00
explorer.rs repo: Move workspace crates into `crates` subdirectory 2025-06-09 15:09:21 +02:00
git.rs chore: Automated fixes generated by clippy 2025-07-25 11:25:05 +02:00
identity.rs radicle: canonical references payload 2025-07-16 16:41:16 +02:00
io.rs radicle: Only set file limits on Unix 2025-07-23 10:31:13 +02:00
lib.rs repo: Move workspace crates into `crates` subdirectory 2025-06-09 15:09:21 +02:00
logger.rs radicle: Move logging setup calls to binaries 2025-08-07 08:30:59 +01:00
node.rs node: Remove useless caching of node announcement 2025-08-13 10:27:00 +01:00
profile.rs chore: Automated fixes generated by clippy 2025-07-25 11:25:05 +02:00
rad.rs repo: Move workspace crates into `crates` subdirectory 2025-06-09 15:09:21 +02:00
schemars_ext.rs repo: Move workspace crates into `crates` subdirectory 2025-06-09 15:09:21 +02:00
serde_ext.rs repo: Move workspace crates into `crates` subdirectory 2025-06-09 15:09:21 +02:00
sql.rs repo: Move workspace crates into `crates` subdirectory 2025-06-09 15:09:21 +02:00
storage.rs canonical: Support Annotated Tags 2025-08-04 17:00:54 +02:00
test.rs repo: Move workspace crates into `crates` subdirectory 2025-06-09 15:09:21 +02:00
version.rs repo: Move workspace crates into `crates` subdirectory 2025-06-09 15:09:21 +02:00
web.rs radicle: Keep pinned repos ordered in config 2025-07-19 12:59:02 +01:00