diff rust/hg-core/src/vfs.rs @ 52345:a48c688d3e80

rhg: set the expected dirstate permissions (0o666 minus umask) This is what Python code does, and users in multiuser environments rely on this behavior. (we've been maintaining a private patch that fixes this for a long time)
author Arseniy Alekseyev <aalekseyev@janestreet.com>
date Wed, 27 Nov 2024 15:14:18 +0000
parents 33d8cb64e9da
children
line wrap: on
line diff
--- a/rust/hg-core/src/vfs.rs	Tue Nov 26 16:21:00 2024 +0000
+++ b/rust/hg-core/src/vfs.rs	Wed Nov 27 15:14:18 2024 +0000
@@ -178,7 +178,9 @@
         relative_path: impl AsRef<Path>,
         contents: &[u8],
     ) -> Result<(), HgError> {
-        let mut tmp = tempfile::NamedTempFile::new_in(&self.base)
+        let mut tmp = tempfile::Builder::new()
+            .permissions(std::fs::Permissions::from_mode(0o666))
+            .tempfile_in(&self.base)
             .when_writing_file(&self.base)?;
         tmp.write_all(contents)
             .and_then(|()| tmp.flush())