rust/hg-core/src/errors.rs
branchstable
changeset 50239 491f3dd080eb
parent 49487 9f14126cfc4c
equal deleted inserted replaced
50238:c9066fc609ef 50239:491f3dd080eb
    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?