Change summary
crates/git/src/repository.rs | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
Detailed changes
@@ -846,14 +846,12 @@ impl GitRepository for RealGitRepository {
.stdin(Stdio::piped())
.stdout(Stdio::piped())
.spawn()?;
- child
- .stdin
- .take()
- .unwrap()
- .write_all(content.as_bytes())
- .await?;
+ let mut stdin = child.stdin.take().unwrap();
+ stdin.write_all(content.as_bytes()).await?;
+ stdin.flush().await?;
+ drop(stdin);
let output = child.output().await?.stdout;
- let sha = String::from_utf8(output)?;
+ let sha = str::from_utf8(&output)?.trim();
log::debug!("indexing SHA: {sha}, path {path:?}");
@@ -871,6 +869,7 @@ impl GitRepository for RealGitRepository {
String::from_utf8_lossy(&output.stderr)
);
} else {
+ log::debug!("removing path {path:?} from the index");
let output = new_smol_command(&git_binary_path)
.current_dir(&working_directory)
.envs(env.iter())
@@ -921,6 +920,7 @@ impl GitRepository for RealGitRepository {
for rev in &revs {
write!(&mut stdin, "{rev}\n")?;
}
+ stdin.flush()?;
drop(stdin);
let output = process.wait_with_output()?;