add.rs
 1  use radicle::git::RefString;
 2  use radicle::prelude::*;
 3  use radicle::Profile;
 4  use radicle_crypto::PublicKey;
 5  
 6  use crate::commands::rad_checkout as checkout;
 7  use crate::git;
 8  use crate::project::SetupRemote;
 9  
10  pub fn run(
11      rid: Id,
12      nid: &PublicKey,
13      name: Option<RefString>,
14      tracking: Option<BranchName>,
15      profile: &Profile,
16      repo: &git::Repository,
17  ) -> anyhow::Result<()> {
18      let aliases = profile.aliases();
19      let setup = SetupRemote {
20          rid,
21          tracking,
22          fetch: false,
23          repo,
24      };
25      checkout::setup_remote(&setup, nid, name, &aliases)
26  }