rust: replace read_whole_file with std::fs::read
It does the same thing
Differential Revision: https://phab.mercurial-scm.org/D9959
--- 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::*;