From 61096d61c3f8730ee585001f0e2a31e09d4ac3f3 Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Mon, 20 Mar 2023 13:29:27 -0400 Subject: [PATCH] fixup-features: Use write-and-rename pattern. --- maint/fixup-features/src/main.rs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/maint/fixup-features/src/main.rs b/maint/fixup-features/src/main.rs index 1947148c7..127ab4aeb 100644 --- a/maint/fixup-features/src/main.rs +++ b/maint/fixup-features/src/main.rs @@ -269,7 +269,9 @@ impl Crate { let new_text = self.toml_doc.to_string(); if new_text != old_text { println!("{} changed. Replacing.", self.name); - std::fs::write(&self.toml_file, new_text.as_str())?; + let tmpname = self.toml_file.with_extension("toml.tmp"); + std::fs::write(&tmpname, new_text.as_str())?; + std::fs::rename(&tmpname, &self.toml_file)?; } Ok(()) }