From 2333136ee7003fd24b1d7a4d0246501c9e16596b Mon Sep 17 00:00:00 2001 From: Fontrodona Nicolas <nicolas.fontrodona@ens-lyon.fr> Date: Thu, 12 May 2022 15:43:36 +0200 Subject: [PATCH] src/create_hooks.rs: update create hooks option --- src/create_hooks.rs | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/create_hooks.rs b/src/create_hooks.rs index 916e6d5..1cbede1 100644 --- a/src/create_hooks.rs +++ b/src/create_hooks.rs @@ -1,6 +1,7 @@ use std::fs::File; +use std::fs::OpenOptions; use std::io::Write; -use std::os::unix::prelude::PermissionsExt; +use std::os::unix::prelude::OpenOptionsExt; use std::{ path::PathBuf, process::{exit, Command}, @@ -58,7 +59,13 @@ fn create_file(folder: &PathBuf, file_name: &str, content: &str) { ); return (); } - let mut file = File::create(&hfile).unwrap_or_else(|e| { + let mut file = OpenOptions::new() + .create_new(true) + .write(true) + .mode(0o755) + .open(&hfile) + .unwrap(); + File::create(&hfile).unwrap_or_else(|e| { eprintln!( "Unable to create the file {}.\n{}", hfile.to_str().unwrap(), @@ -74,8 +81,6 @@ fn create_file(folder: &PathBuf, file_name: &str, content: &str) { ); exit(7); }); - let mut permissions = file.metadata().unwrap().permissions(); - permissions.set_mode(0o755); } /// Create 3 files in `.git/hooks` folder -- GitLab