rust/rhg/src/error.rs
changeset 46443 43d63979a75e
parent 46442 02d3bb972121
child 46445 ca3f73cc3cf4
equal deleted inserted replaced
46442:02d3bb972121 46443:43d63979a75e
   101 }
   101 }
   102 
   102 
   103 impl From<(RevlogError, &str)> for CommandError {
   103 impl From<(RevlogError, &str)> for CommandError {
   104     fn from((err, rev): (RevlogError, &str)) -> CommandError {
   104     fn from((err, rev): (RevlogError, &str)) -> CommandError {
   105         match err {
   105         match err {
   106             RevlogError::IoError(err) => CommandError::Abort(Some(
       
   107                 utf8_to_local(&format!("abort: {}\n", err)).into(),
       
   108             )),
       
   109             RevlogError::InvalidRevision => CommandError::Abort(Some(
   106             RevlogError::InvalidRevision => CommandError::Abort(Some(
   110                 utf8_to_local(&format!(
   107                 utf8_to_local(&format!(
   111                     "abort: invalid revision identifier {}\n",
   108                     "abort: invalid revision identifier {}\n",
   112                     rev
   109                     rev
   113                 ))
   110                 ))
   118                     "abort: ambiguous revision identifier {}\n",
   115                     "abort: ambiguous revision identifier {}\n",
   119                     rev
   116                     rev
   120                 ))
   117                 ))
   121                 .into(),
   118                 .into(),
   122             )),
   119             )),
   123             RevlogError::UnsuportedVersion(version) => {
   120             RevlogError::Other(err) => CommandError::Other(err),
   124                 CommandError::Abort(Some(
       
   125                     utf8_to_local(&format!(
       
   126                         "abort: unsupported revlog version {}\n",
       
   127                         version
       
   128                     ))
       
   129                     .into(),
       
   130                 ))
       
   131             }
       
   132             RevlogError::Corrupted => {
       
   133                 CommandError::Abort(Some("abort: corrupted revlog\n".into()))
       
   134             }
       
   135             RevlogError::UnknowDataFormat(format) => {
       
   136                 CommandError::Abort(Some(
       
   137                     utf8_to_local(&format!(
       
   138                         "abort: unknow revlog dataformat {:?}\n",
       
   139                         format
       
   140                     ))
       
   141                     .into(),
       
   142                 ))
       
   143             }
       
   144         }
   121         }
   145     }
   122     }
   146 }
   123 }