diff -r 252d1bdba33d -r b274aa2f20fd rust/rhg/src/error.rs --- a/rust/rhg/src/error.rs Tue Jan 26 20:31:26 2021 +0100 +++ b/rust/rhg/src/error.rs Tue Jan 26 20:42:36 2021 +0100 @@ -2,11 +2,9 @@ use crate::ui::utf8_to_local; use crate::ui::UiError; use format_bytes::format_bytes; -use hg::operations::{ - CatRevError, DebugDataError, FindRootError, ListDirstateTrackedFilesError, - ListRevTrackedFilesError, -}; +use hg::operations::{FindRootError, ListDirstateTrackedFilesError}; use hg::requirements::RequirementsError; +use hg::revlog::revlog::RevlogError; use hg::utils::files::get_bytes_from_path; use std::convert::From; use std::path::PathBuf; @@ -99,27 +97,27 @@ } } -impl From<(DebugDataError, &str)> for CommandError { - fn from((err, rev): (DebugDataError, &str)) -> CommandError { +impl From<(RevlogError, &str)> for CommandError { + fn from((err, rev): (RevlogError, &str)) -> CommandError { match err { - DebugDataError::IoError(err) => CommandError::Abort(Some( + RevlogError::IoError(err) => CommandError::Abort(Some( utf8_to_local(&format!("abort: {}\n", err)).into(), )), - DebugDataError::InvalidRevision => CommandError::Abort(Some( + RevlogError::InvalidRevision => CommandError::Abort(Some( utf8_to_local(&format!( - "abort: invalid revision identifier{}\n", + "abort: invalid revision identifier {}\n", rev )) .into(), )), - DebugDataError::AmbiguousPrefix => CommandError::Abort(Some( + RevlogError::AmbiguousPrefix => CommandError::Abort(Some( utf8_to_local(&format!( - "abort: ambiguous revision identifier{}\n", + "abort: ambiguous revision identifier {}\n", rev )) .into(), )), - DebugDataError::UnsuportedRevlogVersion(version) => { + RevlogError::UnsuportedVersion(version) => { CommandError::Abort(Some( utf8_to_local(&format!( "abort: unsupported revlog version {}\n", @@ -128,104 +126,10 @@ .into(), )) } - DebugDataError::CorruptedRevlog => { + RevlogError::Corrupted => { CommandError::Abort(Some("abort: corrupted revlog\n".into())) } - DebugDataError::UnknowRevlogDataFormat(format) => { - CommandError::Abort(Some( - utf8_to_local(&format!( - "abort: unknow revlog dataformat {:?}\n", - format - )) - .into(), - )) - } - } - } -} - -impl From<(ListRevTrackedFilesError, &str)> for CommandError { - fn from((err, rev): (ListRevTrackedFilesError, &str)) -> CommandError { - match err { - ListRevTrackedFilesError::IoError(err) => CommandError::Abort( - Some(utf8_to_local(&format!("abort: {}\n", err)).into()), - ), - ListRevTrackedFilesError::InvalidRevision => { - CommandError::Abort(Some( - utf8_to_local(&format!( - "abort: invalid revision identifier {}\n", - rev - )) - .into(), - )) - } - ListRevTrackedFilesError::AmbiguousPrefix => { - CommandError::Abort(Some( - utf8_to_local(&format!( - "abort: ambiguous revision identifier {}\n", - rev - )) - .into(), - )) - } - ListRevTrackedFilesError::UnsuportedRevlogVersion(version) => { - CommandError::Abort(Some( - utf8_to_local(&format!( - "abort: unsupported revlog version {}\n", - version - )) - .into(), - )) - } - ListRevTrackedFilesError::CorruptedRevlog => { - CommandError::Abort(Some("abort: corrupted revlog\n".into())) - } - ListRevTrackedFilesError::UnknowRevlogDataFormat(format) => { - CommandError::Abort(Some( - utf8_to_local(&format!( - "abort: unknow revlog dataformat {:?}\n", - format - )) - .into(), - )) - } - } - } -} - -impl From<(CatRevError, &str)> for CommandError { - fn from((err, rev): (CatRevError, &str)) -> CommandError { - match err { - CatRevError::IoError(err) => CommandError::Abort(Some( - utf8_to_local(&format!("abort: {}\n", err)).into(), - )), - CatRevError::InvalidRevision => CommandError::Abort(Some( - utf8_to_local(&format!( - "abort: invalid revision identifier {}\n", - rev - )) - .into(), - )), - CatRevError::AmbiguousPrefix => CommandError::Abort(Some( - utf8_to_local(&format!( - "abort: ambiguous revision identifier {}\n", - rev - )) - .into(), - )), - CatRevError::UnsuportedRevlogVersion(version) => { - CommandError::Abort(Some( - utf8_to_local(&format!( - "abort: unsupported revlog version {}\n", - version - )) - .into(), - )) - } - CatRevError::CorruptedRevlog => { - CommandError::Abort(Some("abort: corrupted revlog\n".into())) - } - CatRevError::UnknowRevlogDataFormat(format) => { + RevlogError::UnknowDataFormat(format) => { CommandError::Abort(Some( utf8_to_local(&format!( "abort: unknow revlog dataformat {:?}\n",