equal
deleted
inserted
replaced
44 #[from] |
44 #[from] |
45 ConfigValueParseError(ConfigValueParseError), |
45 ConfigValueParseError(ConfigValueParseError), |
46 |
46 |
47 /// Censored revision data. |
47 /// Censored revision data. |
48 CensoredNodeError, |
48 CensoredNodeError, |
|
49 /// A race condition has been detected. This *must* be handled locally |
|
50 /// and not directly surface to the user. |
|
51 RaceDetected(String), |
49 } |
52 } |
50 |
53 |
51 /// Details about where an I/O error happened |
54 /// Details about where an I/O error happened |
52 #[derive(Debug)] |
55 #[derive(Debug)] |
53 pub enum IoErrorContext { |
56 pub enum IoErrorContext { |
109 } |
112 } |
110 HgError::CensoredNodeError => { |
113 HgError::CensoredNodeError => { |
111 write!(f, "encountered a censored node") |
114 write!(f, "encountered a censored node") |
112 } |
115 } |
113 HgError::ConfigValueParseError(error) => error.fmt(f), |
116 HgError::ConfigValueParseError(error) => error.fmt(f), |
|
117 HgError::RaceDetected(context) => { |
|
118 write!(f, "encountered a race condition {context}") |
|
119 } |
114 } |
120 } |
115 } |
121 } |
116 } |
122 } |
117 |
123 |
118 // TODO: use `DisplayBytes` instead to show non-Unicode filenames losslessly? |
124 // TODO: use `DisplayBytes` instead to show non-Unicode filenames losslessly? |