feat: pass file descriptors to diff command

This commit is contained in:
Andrew Phillips (aider)
2025-05-06 13:29:52 -03:00
parent 277038e7ad
commit 1852778f75

View File

@@ -519,12 +519,14 @@ fn mode_diff(cmd: &mut Command, args: Args, ids: &mut Vec<i64>, tags: &mut Vec<S
let compression_engine_b = compression::get_engine(compression_type_b).expect("Unable to get compression engine"); let compression_engine_b = compression::get_engine(compression_type_b).expect("Unable to get compression engine");
let (_fd_a_read, fd_a_write) = unistd::pipe().unwrap(); let (fd_a_read, fd_a_write) = unistd::pipe().unwrap();
let (_fd_b_read, fd_b_write) = unistd::pipe().unwrap(); let (fd_b_read, fd_b_write) = unistd::pipe().unwrap();
let child = std::process::Command::new("diff") let child = std::process::Command::new("diff")
.arg("-u") .arg("-u")
.stdin(std::process::Stdio::piped()) .arg(format!("/dev/fd/{}", fd_a_read))
.arg(format!("/dev/fd/{}", fd_b_read))
.stdin(std::process::Stdio::null())
.stdout(std::process::Stdio::piped()) .stdout(std::process::Stdio::piped())
.stderr(std::process::Stdio::piped()) .stderr(std::process::Stdio::piped())
.spawn() .spawn()