use std::cmp::Ordering; use std::collections::BTreeSet; use std::collections::VecDeque; use std::ffi::OsString; use std::str::FromStr; use std::time; use anyhow::{anyhow, Context as _}; use radicle::node; use radicle::node::address::Store; use radicle::node::{AliasStore, FetchResult, FetchResults, Handle as _, Node, Seed, SyncStatus}; use radicle::prelude::{NodeId, Profile, RepoId}; use radicle::storage::{ReadStorage, RemoteRepository}; use radicle_term::Element; use crate::node::SyncReporting; use crate::node::SyncSettings; use crate::terminal as term; use crate::terminal::args::{Args, Error, Help}; use crate::terminal::format::Author; use crate::terminal::{Table, TableOptions}; pub const HELP: Help = Help { name: "sync", description: "Sync repositories to the network", version: env!("RADICLE_VERSION"), usage: r#" Usage rad sync [--fetch | --announce] [] [