Radish alpha
h
Radicle Heartwood Protocol & Stack
Radicle
Git (anonymous pull)
Log in to clone via SSH
node: Return error if remote errors
Alexis Sellier committed 3 years ago
commit 3aa105afdac236b73a7da59d4271b3b9ff1aeb38
parent 99bd62d27610a778faf790688ff7c0866e06273c
2 files changed +5 -3
modified radicle-node/src/service.rs
@@ -451,6 +451,7 @@ where
                let tracked = self
                    .track_repo(&id, tracking::Scope::All)
                    .expect("Service::command: error tracking repository");
+
                // TODO: Try to fetch project if we weren't tracking it.
                resp.send(tracked).ok();
            }
            Command::UntrackRepo(id, resp) => {
modified radicle-node/src/worker.rs
@@ -216,7 +216,7 @@ impl<G: Signer + EcSign + 'static> Worker<G> {
    ) -> Result<Vec<RefUpdate>, FetchError> {
        // Connect to our local git daemon, running as a child process.
        let daemon = net::TcpStream::connect_timeout(&self.daemon, self.timeout)?;
-
        let (mut daemon_r, mut daemon_w) = (daemon.try_clone().unwrap(), daemon);
+
        let (mut daemon_r, mut daemon_w) = (daemon.try_clone()?, daemon);
        let mut stream_r = pktline::Reader::new(drain, stream_r);
        let mut daemon_r = pktline::Reader::new(vec![], &mut daemon_r);
        let mut buffer = [0; u16::MAX as usize + 1];
@@ -258,8 +258,9 @@ impl<G: Signer + EcSign + 'static> Worker<G> {
                return Err(e.into());
            }
            if let Err(e) = stream_r.read_pktlines(&mut daemon_w, &mut buffer) {
-
                log::debug!(target: "worker", "Remote returned error: {e}");
-
                break;
+
                log::error!(target: "worker", "Remote returned error for {}: {e}", fetch.repo);
+

+
                return Err(e.into());
            }
        }
        log::debug!(target: "worker", "Upload of {} to {} exited successfully", fetch.repo, fetch.remote);