Wire up the `radicle-fetch` crate to the fetch logic in the `radicle-node` worker. Any required traits for storage, identity, tracking, and transport used by `radicle-fetch`. The worker adds a new module to run the `git upload-pack` process and pipes the `stdout`/`stdin` to the respective channels. The `Worker` type required adding a `FetchConfig` to easily allow the configuration of fetches and passing the signer and tracking store location through to the fetch `Handle`. The channels code is adapted to have a new writer that always flushes when a call to `write_all` is made. This is necessary since the Gitoxide code never calls `flush`, and so it will hang since no data is sent until `flush` is called. Since `UserInfo` is used to set up a newly cloned repository, this changed some of the SHA1 hashes output in the CLI test examples. It was also necessary to update the CLI's clone code to be deterministic in its output for tests. Signed-off-by: Fintan Halpenny <fintan.halpenny@gmail.com> X-Clacks-Overhead: GNU Terry Pratchett |
||
|---|---|---|
| .. | ||
| error.rs | ||