Mercurial > hg-stable
changeset 46540:0d734c0ae1cf
rust: replace read_whole_file with std::fs::read
It does the same thing
Differential Revision: https://phab.mercurial-scm.org/D9959
author | Simon Sapin <simon.sapin@octobus.net> |
---|---|
date | Mon, 01 Feb 2021 12:25:53 +0100 |
parents | 05dd091dfa6a |
children | 39128182f04e |
files | rust/hg-core/src/config/config.rs rust/hg-core/src/config/layer.rs rust/hg-core/src/utils/files.rs |
diffstat | 3 files changed, 4 insertions(+), 19 deletions(-) [+] |
line wrap: on
line diff
--- a/rust/hg-core/src/config/config.rs Tue Feb 09 09:37:39 2021 -0800 +++ b/rust/hg-core/src/config/config.rs Mon Feb 01 12:25:53 2021 +0100 @@ -14,7 +14,6 @@ use std::path::PathBuf; use crate::repo::Repo; -use crate::utils::files::read_whole_file; /// Holds the config values for the current repository /// TODO update this docstring once we support more sources @@ -64,7 +63,7 @@ ConfigSource::AbsPath(c) => { // TODO check if it should be trusted // mercurial/ui.py:427 - let data = match read_whole_file(&c) { + let data = match std::fs::read(&c) { Err(_) => continue, // same as the python code Ok(data) => data, };
--- a/rust/hg-core/src/config/layer.rs Tue Feb 09 09:37:39 2021 -0800 +++ b/rust/hg-core/src/config/layer.rs Mon Feb 01 12:25:53 2021 +0100 @@ -8,9 +8,7 @@ // GNU General Public License version 2 or any later version. use crate::errors::{HgError, IoResultExt}; -use crate::utils::files::{ - get_bytes_from_path, get_path_from_bytes, read_whole_file, -}; +use crate::utils::files::{get_bytes_from_path, get_path_from_bytes}; use format_bytes::format_bytes; use lazy_static::lazy_static; use regex::bytes::Regex; @@ -244,10 +242,10 @@ new_src: &Path, ) -> (PathBuf, io::Result<Vec<u8>>) { if new_src.is_absolute() { - (new_src.to_path_buf(), read_whole_file(&new_src)) + (new_src.to_path_buf(), std::fs::read(&new_src)) } else { let dir = old_src.parent().unwrap(); let new_src = dir.join(&new_src); - (new_src.to_owned(), read_whole_file(&new_src)) + (new_src.to_owned(), std::fs::read(&new_src)) } }
--- a/rust/hg-core/src/utils/files.rs Tue Feb 09 09:37:39 2021 -0800 +++ b/rust/hg-core/src/utils/files.rs Mon Feb 01 12:25:53 2021 +0100 @@ -18,7 +18,6 @@ use same_file::is_same_file; use std::borrow::{Cow, ToOwned}; use std::fs::Metadata; -use std::io::Read; use std::iter::FusedIterator; use std::ops::Deref; use std::path::{Path, PathBuf}; @@ -309,17 +308,6 @@ } } -/// Reads a file in one big chunk instead of doing multiple reads -pub fn read_whole_file(filepath: &Path) -> std::io::Result<Vec<u8>> { - let mut file = std::fs::File::open(filepath)?; - let size = file.metadata()?.len(); - - let mut res = vec![0; size as usize]; - file.read_exact(&mut res)?; - - Ok(res) -} - #[cfg(test)] mod tests { use super::*;