Radish alpha
h
Radicle Heartwood Protocol & Stack
Radicle
Git (anonymous pull)
Log in to clone via SSH
radicle/cob: Do not return `BrokenPipe` from external COB invocation
Lorenz Leutgeb committed 10 days ago
commit 2cb4898570aab99cc0899cce2b8228bed3c0728f
parent a3fbe55285cb32b86ac4305311fdca8bb8c14a9f
1 file changed +3 -8
modified crates/radicle/src/cob/external.rs
@@ -81,7 +81,7 @@
//! [remote helpers]: https://git-scm.com/docs/gitremote-helpers

use std::collections::HashMap;
-
use std::io::{Error as IoError, ErrorKind};
+
use std::io::Error as IoError;
use std::process::{Command, Stdio};

use serde::{Deserialize, Serialize};
@@ -158,17 +158,12 @@ impl External {
            prefix + suffix
        };

-
        let child = Command::new(command_name)
+
        let mut child = Command::new(command_name)
            .stdin(Stdio::piped())
            .stdout(Stdio::piped())
            .spawn()?;

-
        let Some(stdin) = &child.stdin else {
-
            return Err(Error::Io(IoError::new(
-
                ErrorKind::BrokenPipe,
-
                "stdin not available",
-
            )));
-
        };
+
        let stdin = child.stdin.take().expect("handle preset");

        #[derive(Serialize)]
        struct OpMessage {