diff rust/hg-core/src/utils/files.rs @ 43868:b06cf2809ec3 stable

rust-cpython: do not convert warning pattern to utf-8 bytes On Unix, both Rust Path and Mercurial expect a locale-dependent bytes, and we don't support Windows yet. Differential Revision: https://phab.mercurial-scm.org/D7614
author Yuya Nishihara <yuya@tcha.org>
date Tue, 19 Nov 2019 23:19:57 +0900
parents 99394e6c5d12
children cf065c6a0197
line wrap: on
line diff
--- a/rust/hg-core/src/utils/files.rs	Tue Nov 19 23:16:16 2019 +0900
+++ b/rust/hg-core/src/utils/files.rs	Tue Nov 19 23:19:57 2019 +0900
@@ -29,6 +29,14 @@
     Path::new(os_str)
 }
 
+// TODO: need to convert from WTF8 to MBCS bytes on Windows.
+// that's why Vec<u8> is returned.
+#[cfg(unix)]
+pub fn get_bytes_from_path(path: impl AsRef<Path>) -> Vec<u8> {
+    use std::os::unix::ffi::OsStrExt;
+    path.as_ref().as_os_str().as_bytes().to_vec()
+}
+
 /// An iterator over repository path yielding itself and its ancestors.
 #[derive(Copy, Clone, Debug)]
 pub struct Ancestors<'a> {