Details
Details
- Reviewers
- None
- Group Reviewers
hg-reviewers - Commits
- rHG2d5dfc8fed55: hg-core: impl TryFrom<PathBuff> for HgPathBuf
Diff Detail
Diff Detail
- Repository
- rHG Mercurial
- Branch
- default
- Lint
No Linters Available - Unit
No Unit Test Coverage
| hg-reviewers |
| No Linters Available |
| No Unit Test Coverage |
| Path | Packages | |||
|---|---|---|---|---|
| M | rust/hg-core/src/utils/hg_path.rs (8 lines) |
| Commit | Parents | Author | Summary | Date |
|---|---|---|---|---|
| bebc93623bb5 | 3786e468941f | Antoine Cezar | Sep 15 2020, 4:52 AM |
| Status | Author | Revision | |
|---|---|---|---|
| Closed | acezar | ||
| Closed | acezar | ||
| Closed | acezar | ||
| Closed | acezar | D9049 hg-core: add path_encode | |
| Closed | acezar | ||
| Closed | acezar | ||
| Closed | acezar | ||
| Closed | acezar | ||
| Closed | acezar | ||
| Closed | acezar | ||
| Closed | acezar | ||
| Closed | acezar | ||
| Closed | acezar | D8962 rhg: Add debug timing | |
| Closed | acezar | ||
| Closed | acezar | ||
| Closed | acezar | ||
| Closed | acezar | ||
| Closed | acezar | ||
| Closed | acezar | ||
| Closed | acezar | ||
| Closed | acezar | ||
| Closed | acezar | ||
| Closed | acezar | ||
| Closed | acezar | ||
| Closed | acezar | ||
| Closed | acezar | ||
| Closed | acezar | ||
| Closed | acezar | ||
| Closed | acezar | ||
| Closed | acezar | ||
| Closed | acezar | ||
| Closed | acezar | ||
| Closed | acezar | ||
| Closed | acezar | ||
| Closed | acezar |
| // hg_path.rs | // hg_path.rs | ||||
| // | // | ||||
| // Copyright 2019 Raphaël Gomès <rgomes@octobus.net> | // Copyright 2019 Raphaël Gomès <rgomes@octobus.net> | ||||
| // | // | ||||
| // This software may be used and distributed according to the terms of the | // This software may be used and distributed according to the terms of the | ||||
| // GNU General Public License version 2 or any later version. | // GNU General Public License version 2 or any later version. | ||||
| use std::borrow::Borrow; | use std::borrow::Borrow; | ||||
| use std::convert::TryFrom; | |||||
| use std::ffi::{OsStr, OsString}; | use std::ffi::{OsStr, OsString}; | ||||
| use std::fmt; | use std::fmt; | ||||
| use std::ops::Deref; | use std::ops::Deref; | ||||
| use std::path::{Path, PathBuf}; | use std::path::{Path, PathBuf}; | ||||
| #[derive(Debug, Eq, PartialEq)] | #[derive(Debug, Eq, PartialEq)] | ||||
| pub enum HgPathError { | pub enum HgPathError { | ||||
| /// Bytes from the invalid `HgPath` | /// Bytes from the invalid `HgPath` | ||||
| } | } | ||||
| // TODO Handle other platforms | // TODO Handle other platforms | ||||
| // TODO: convert from WTF8 to Windows MBCS (ANSI encoding). | // TODO: convert from WTF8 to Windows MBCS (ANSI encoding). | ||||
| buf.check_state()?; | buf.check_state()?; | ||||
| Ok(buf) | Ok(buf) | ||||
| } | } | ||||
| impl TryFrom<PathBuf> for HgPathBuf { | |||||
| type Error = HgPathError; | |||||
| fn try_from(path: PathBuf) -> Result<Self, Self::Error> { | |||||
| path_to_hg_path_buf(path) | |||||
| } | |||||
| } | |||||
| #[cfg(test)] | #[cfg(test)] | ||||
| mod tests { | mod tests { | ||||
| use super::*; | use super::*; | ||||
| use pretty_assertions::assert_eq; | use pretty_assertions::assert_eq; | ||||
| #[test] | #[test] | ||||
| fn test_path_states() { | fn test_path_states() { | ||||
| assert_eq!( | assert_eq!( | ||||