[PATCH 3 of 3] rust-filepatterns: add comment about Windows path handling

Yuya Nishihara yuya at tcha.org
Fri Jun 14 22:12:57 EDT 2019


# HG changeset patch
# User Yuya Nishihara <yuya at tcha.org>
# Date 1560563933 -32400
#      Sat Jun 15 10:58:53 2019 +0900
# Node ID ae3fa38d23e3a1f0862dd95a908e931256bf6dbc
# Parent  16042509c267e1e00fc59f85166a1a6ae75a3bcc
rust-filepatterns: add comment about Windows path handling

As I replied to the Phabricator message, this is wrong. And I even suspect
it wouldn't compile because of multiple type mismatches.

I think, in Rust where type system is rock solid, we can live with UTF-8
strings except for the bottom storage layer and the top UI/command layer.
We'll still have to get around undecodable characters not to be lost, but
I think it's okay to drop such filenames from match result if they don't
match in UTF-8 world, not in Latin-1 world.

diff --git a/rust/hg-core/src/utils/files.rs b/rust/hg-core/src/utils/files.rs
--- a/rust/hg-core/src/utils/files.rs
+++ b/rust/hg-core/src/utils/files.rs
@@ -9,6 +9,8 @@ pub fn get_path_from_bytes(bytes: &[u8])
     }
     #[cfg(windows)]
     {
+        // TODO: convert from Windows MBCS (ANSI encoding) to WTF8.
+        // Perhaps, the return type would have to be Result<PathBuf>.
         use std::os::windows::ffi::OsStrExt;
         os_str = std::ffi::OsString::from_wide(bytes);
     }


More information about the Mercurial-devel mailing list