diff --git a/radicle-tools/src/rad-push.rs b/radicle-tools/src/rad-push.rs index b8b35fe0..de4cc3ff 100644 --- a/radicle-tools/src/rad-push.rs +++ b/radicle-tools/src/rad-push.rs @@ -1,6 +1,6 @@ use std::path::Path; -use radicle::storage::WriteStorage; +use radicle::{node::Handle, storage::WriteStorage}; fn main() -> anyhow::Result<()> { let cwd = Path::new(".").canonicalize()?; @@ -13,6 +13,8 @@ fn main() -> anyhow::Result<()> { let project = profile.storage.repository(&id)?; let sigrefs = profile.storage.sign_refs(&project, &profile.signer)?; + profile.node()?.announce_refs(&id)?; + println!("ok: {}", sigrefs.signature); Ok(()) diff --git a/radicle/src/profile.rs b/radicle/src/profile.rs index f2e063f1..7b9ec1f0 100644 --- a/radicle/src/profile.rs +++ b/radicle/src/profile.rs @@ -39,7 +39,6 @@ pub struct Profile { pub home: PathBuf, pub signer: UnsafeSigner, pub storage: Storage, - pub node: Option, } impl Profile { @@ -59,7 +58,6 @@ impl Profile { home, signer, storage, - node: None, }) } @@ -73,16 +71,12 @@ impl Profile { home, signer, storage, - node: None, }) } - /// Connect to the local radicle node. - pub fn connect(&mut self) -> Result<(), io::Error> { - let conn = node::Connection::connect(self.socket())?; - self.node = Some(conn); - - Ok(()) + /// Return a connection to the locally running node. + pub fn node(&self) -> Result { + node::Connection::connect(self.socket()) } pub fn id(&self) -> &PublicKey {