radicle: Teach `rad sync` and `rad clone` to accept feature levels
modified CHANGELOG.md
@@ -9,6 +9,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
|
|
|
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
modified crates/radicle-cli/src/commands/clone/args.rs
@@ -2,12 +2,17 @@ use std::path::PathBuf;
|
|
|
|
|
|
| - | |
|
|
|
|
|
|
|
|
| + | |
|
|
| + | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -35,6 +40,13 @@ pub(super) struct SyncArgs {
|
|
|
|
|
|
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -42,6 +54,9 @@ impl From<SyncArgs> for SyncSettings {
|
|
|
|
|
|
| + | |
| + | |
| + | |
|
|
|
|
|
modified crates/radicle-cli/src/commands/sync.rs
@@ -324,7 +324,12 @@ pub fn fetch(
|
|
|
|
|
|
| - | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
modified crates/radicle-cli/src/commands/sync/args.rs
@@ -6,8 +6,13 @@ use clap::{Parser, Subcommand, ValueEnum};
|
|
|
|
|
|
| + | |
|
|
|
|
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -136,6 +141,14 @@ pub(super) struct SyncArgs {
|
|
|
|
|
|
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -220,9 +233,13 @@ impl From<SyncArgs> for SyncMode {
|
|
|
|
|
|
| + | |
| + | |
| + | |
|
|
| - | |
| - | |
| + | |
| + | |
| + | |
|
|
|
|
|
added crates/radicle-cli/src/common_args.rs
@@ -0,0 +1,79 @@
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
modified crates/radicle-cli/src/lib.rs
@@ -8,6 +8,7 @@ pub mod pager;
|
|
|
|
|
|
| + | |
|
|
|
|
|
modified crates/radicle-cli/src/node.rs
@@ -4,7 +4,7 @@ use std::io::Write;
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
@@ -21,6 +21,8 @@ pub struct SyncSettings {
|
|
|
|
|
|
| + | |
| + | |
|
|
|
|
|
@@ -31,6 +33,13 @@ impl SyncSettings {
|
|
|
|
|
|
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -69,6 +78,7 @@ impl Default for SyncSettings {
|
|
|
|
|
|
| + | |
|
|
|
|
|
modified crates/radicle-cli/tests/commands/cob.rs
@@ -220,7 +220,7 @@ fn test_cob_deletion() {
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
modified crates/radicle-cli/tests/commands/id.rs
@@ -87,7 +87,9 @@ fn rad_id_threshold() {
|
|
|
|
|
|
| - | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -323,10 +325,12 @@ fn rad_id_collaboration() {
|
|
|
|
|
|
| - | |
| + | |
| + | |
| + | |
|
|
|
|
| - | |
| + | |
|
|
|
|
|
modified crates/radicle-cli/tests/commands/utility.rs
@@ -87,7 +87,9 @@ fn rad_clean() {
|
|
|
|
|
|
| - | |
| + | |
| + | |
| + | |
|
|
|
|
|
modified crates/radicle-node/src/control.rs
@@ -5,6 +5,7 @@ use std::io::LineWriter;
|
|
|
|
|
|
| + | |
|
|
|
|
|
@@ -112,8 +113,20 @@ where
|
|
|
|
|
|
| - | |
| - | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -248,10 +261,11 @@ fn fetch<W: Write, H: Handle<Error = runtime::HandleError>>(
|
|
|
|
|
|
| + | |
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
modified crates/radicle-node/src/runtime/handle.rs
@@ -15,6 +15,7 @@ use radicle::node::events::{Event, Events};
|
|
|
|
|
|
| + | |
|
|
|
|
|
@@ -229,9 +230,16 @@ impl radicle::node::Handle for Handle {
|
|
|
|
|
|
| + | |
|
|
|
|
| - | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
modified crates/radicle-node/src/test/handle.rs
@@ -5,7 +5,7 @@ use std::time;
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
@@ -69,6 +69,7 @@ impl radicle::node::Handle for Handle {
|
|
|
|
|
|
| + | |
|
|
|
|
|
modified crates/radicle-node/src/tests.rs
@@ -1496,15 +1496,15 @@ fn test_queued_fetch_max_capacity() {
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
@@ -1618,15 +1618,15 @@ fn test_queued_fetch_from_command_same_rid() {
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
modified crates/radicle-node/src/tests/e2e.rs
@@ -189,7 +189,10 @@ fn test_replication() {
|
|
|
|
|
|
| - | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -266,7 +269,10 @@ fn test_replication_ref_in_sigrefs() {
|
|
|
|
|
|
| - | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -325,7 +331,10 @@ fn test_replication_invalid() {
|
|
|
|
|
|
| - | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -355,7 +364,10 @@ fn test_migrated_clone() {
|
|
|
|
|
|
| - | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -366,7 +378,10 @@ fn test_migrated_clone() {
|
|
|
|
|
|
| - | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -405,13 +420,19 @@ fn test_dont_fetch_owned_refs() {
|
|
|
|
|
|
| - | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
|
|
|
|
|
| - | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -451,7 +472,10 @@ fn test_fetch_followed_remotes() {
|
|
|
|
|
|
| - | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -484,7 +508,10 @@ fn test_missing_remote() {
|
|
|
|
|
|
| - | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -494,7 +521,10 @@ fn test_missing_remote() {
|
|
|
|
|
|
| - | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -514,7 +544,10 @@ fn test_fetch_preserve_owned_refs() {
|
|
|
|
|
|
| - | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -529,7 +562,10 @@ fn test_fetch_preserve_owned_refs() {
|
|
|
|
|
|
| - | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -562,7 +598,10 @@ fn test_clone() {
|
|
|
|
|
|
| - | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -616,11 +655,17 @@ fn test_fetch_up_to_date() {
|
|
|
|
|
|
| - | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
|
| - | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -643,14 +688,20 @@ fn test_fetch_unseeded() {
|
|
|
|
|
|
| - | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
|
|
|
|
|
|
|
| - | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -896,9 +947,14 @@ fn test_non_fastforward_sigrefs() {
|
|
|
|
|
|
| - | |
| + | |
| + | |
| + | |
|
|
| - | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -940,7 +996,10 @@ fn test_non_fastforward_sigrefs() {
|
|
|
|
|
|
| - | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -972,7 +1031,7 @@ fn test_non_fastforward_sigrefs() {
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
@@ -999,11 +1058,15 @@ fn test_outdated_sigrefs() {
|
|
|
|
|
|
| - | |
| + | |
| + | |
| + | |
|
|
|
|
|
|
| - | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -1011,13 +1074,18 @@ fn test_outdated_sigrefs() {
|
|
|
|
|
|
| - | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
|
|
|
|
|
| - | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -1038,7 +1106,10 @@ fn test_outdated_sigrefs() {
|
|
|
|
|
|
| - | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -1059,7 +1130,10 @@ fn test_outdated_sigrefs() {
|
|
|
|
|
|
| - | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -1093,11 +1167,15 @@ fn test_outdated_delegate_sigrefs() {
|
|
|
|
|
|
| - | |
| + | |
| + | |
| + | |
|
|
|
|
|
|
| - | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -1105,13 +1183,18 @@ fn test_outdated_delegate_sigrefs() {
|
|
|
|
|
|
| - | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
|
|
|
|
|
| - | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -1132,7 +1215,9 @@ fn test_outdated_delegate_sigrefs() {
|
|
|
|
|
|
| - | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -1145,7 +1230,9 @@ fn test_outdated_delegate_sigrefs() {
|
|
|
|
|
|
| - | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -1175,7 +1262,9 @@ fn missing_default_branch() {
|
|
|
|
|
|
| - | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -1185,7 +1274,10 @@ fn missing_default_branch() {
|
|
|
|
|
|
| - | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -1207,7 +1299,9 @@ fn missing_default_branch() {
|
|
|
|
|
|
| - | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -1240,7 +1334,9 @@ fn missing_delegate_default_branch() {
|
|
|
|
|
|
| - | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -1312,7 +1408,9 @@ fn missing_delegate_default_branch() {
|
|
|
|
|
|
| - | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -1323,7 +1421,10 @@ fn missing_delegate_default_branch() {
|
|
|
|
|
|
| - | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -1334,7 +1435,9 @@ fn missing_delegate_default_branch() {
|
|
|
|
|
|
| - | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -1360,11 +1463,15 @@ fn test_background_foreground_fetch() {
|
|
|
|
|
|
| - | |
| + | |
| + | |
| + | |
|
|
|
|
|
|
| - | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -1373,7 +1480,10 @@ fn test_background_foreground_fetch() {
|
|
|
|
|
|
| - | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -1414,7 +1524,10 @@ fn test_background_foreground_fetch() {
|
|
|
|
|
|
| - | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -1514,7 +1627,10 @@ fn test_channel_reader_limit() {
|
|
|
|
|
|
| - | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -1548,7 +1664,10 @@ fn test_fetch_emits_canonical_ref_update() {
|
|
|
|
|
|
| - | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -1606,12 +1725,14 @@ fn test_non_fastforward_identity_doc() {
|
|
|
|
|
|
| - | |
| + | |
| + | |
| + | |
|
|
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
@@ -1623,7 +1744,7 @@ fn test_non_fastforward_identity_doc() {
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
@@ -1651,7 +1772,10 @@ fn test_non_fastforward_identity_doc() {
|
|
|
|
|
|
| - | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -1662,7 +1786,9 @@ fn test_non_fastforward_identity_doc() {
|
|
|
|
|
|
| - | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -1744,7 +1870,7 @@ fn test_block_prevents_fetch() {
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
@@ -1768,7 +1894,9 @@ fn fetch_does_not_contain_rad_sigrefs_parent() {
|
|
|
|
|
|
| - | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -1782,7 +1910,9 @@ fn fetch_does_not_contain_rad_sigrefs_parent() {
|
|
|
|
|
|
| - | |
| + | |
| + | |
| + | |
|
|
|
|
|
modified crates/radicle-protocol/src/service.rs
@@ -863,9 +863,13 @@ where
|
|
|
|
|
|
| - | |
| - | |
| - | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
modified crates/radicle-protocol/src/service/command.rs
@@ -8,6 +8,7 @@ use radicle::node::policy::Scope;
|
|
|
|
|
|
| + | |
|
|
|
|
|
@@ -90,7 +91,13 @@ pub enum Command {
|
|
|
|
|
|
| - | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -150,9 +157,19 @@ impl Command {
|
|
|
|
|
|
| + | |
|
|
|
|
| - | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -191,7 +208,10 @@ impl fmt::Debug for Command {
|
|
|
|
|
|
| - | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
modified crates/radicle/src/node.rs
@@ -43,7 +43,7 @@ use crate::crypto::PublicKey;
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
@@ -975,6 +975,7 @@ pub trait Handle: Clone + Sync + Send {
|
|
|
|
|
|
| + | |
|
|
|
|
|
@@ -1244,6 +1245,7 @@ impl Handle for Node {
|
|
|
|
|
|
| + | |
|
|
|
|
|
@@ -1251,6 +1253,7 @@ impl Handle for Node {
|
|
|
|
|
|
| + | |
|
|
|
|
|
modified crates/radicle/src/node/command.rs
@@ -15,6 +15,7 @@ use serde_json as json;
|
|
|
|
|
|
| + | |
|
|
|
|
|
@@ -96,6 +97,7 @@ pub enum Command {
|
|
|
|
|
|
| + | |
|
|
|
|
|