diff rust/rhg/src/error.rs @ 45363:5dbf875b3275

rhg: simplify `FindRootError` handling Differential Revision: https://phab.mercurial-scm.org/D8867
author Antoine Cezar <antoine.cezar@octobus.net>
date Wed, 29 Jul 2020 15:49:44 +0200
parents 47997afadf08
children 5fe25f8ef5d9
line wrap: on
line diff
--- a/rust/rhg/src/error.rs	Wed Jul 29 10:26:17 2020 +0200
+++ b/rust/rhg/src/error.rs	Wed Jul 29 15:49:44 2020 +0200
@@ -1,5 +1,6 @@
 use crate::exitcode;
 use crate::ui::UiError;
+use hg::operations::{FindRootError, FindRootErrorKind};
 use hg::utils::files::get_bytes_from_path;
 use std::convert::From;
 use std::path::PathBuf;
@@ -90,3 +91,16 @@
         }
     }
 }
+
+impl From<FindRootError> for CommandError {
+    fn from(err: FindRootError) -> Self {
+        match err.kind {
+            FindRootErrorKind::RootNotFound(path) => CommandError {
+                kind: CommandErrorKind::RootNotFound(path),
+            },
+            FindRootErrorKind::GetCurrentDirError(e) => CommandError {
+                kind: CommandErrorKind::CurrentDirNotFound(e),
+            },
+        }
+    }
+}