node: Return error if remote errors
Instead of simply breaking out of the loop, log and return an error.
This commit is contained in:
parent
99bd62d276
commit
3aa105afda
|
|
@ -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) => {
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
Loading…
Reference in New Issue