# HG changeset patch # User Simon Sapin # Date 1612178753 -3600 # Node ID 0d734c0ae1cfa50de9e9b79aaaaf3089d8d37f78 # Parent 05dd091dfa6a76314dd7b1fae61378984c982127 rust: replace read_whole_file with std::fs::read It does the same thing Differential Revision: https://phab.mercurial-scm.org/D9959 diff -r 05dd091dfa6a -r 0d734c0ae1cf rust/hg-core/src/config/config.rs --- 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, }; diff -r 05dd091dfa6a -r 0d734c0ae1cf rust/hg-core/src/config/layer.rs --- 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>) { 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)) } } diff -r 05dd091dfa6a -r 0d734c0ae1cf rust/hg-core/src/utils/files.rs --- 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> { - 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::*;