##// END OF EJS Templates
dirstate: invalidate changes when parent-change fails...
dirstate: invalidate changes when parent-change fails When an error occurs during changing parents, we should invalidate all dirstate modifications and reload the dirstate. This is currently done by a `unlock` callback on the `wlock`. To fix this anomaly, we start dealing with the error directly in the context manager and its potential nesting. The "hard" part is to make sure that, when the parent-change context are nested, we and higher level nesting do not continue to use the invalidated dirstate. We introduce dedicated code to enforce that.

File last commit:

r50383:7c93e38a default
r50852:96e526fe default
Show More
exit_codes.rs
26 lines | 762 B | application/rls-services+xml | RustLexer
pub type ExitCode = i32;
/// Successful exit
pub const OK: ExitCode = 0;
/// Generic abort
pub const ABORT: ExitCode = 255;
// Abort when there is a config related error
pub const CONFIG_ERROR_ABORT: ExitCode = 30;
/// Indicates that the operation might work if retried in a different state.
/// Examples: Unresolved merge conflicts, unfinished operations
pub const STATE_ERROR: ExitCode = 20;
// Abort when there is an error while parsing config
pub const CONFIG_PARSE_ERROR_ABORT: ExitCode = 10;
/// Generic something completed but did not succeed
pub const UNSUCCESSFUL: ExitCode = 1;
/// Command or feature not implemented by rhg
pub const UNIMPLEMENTED: ExitCode = 252;
/// The fallback path is not valid
pub const INVALID_FALLBACK: ExitCode = 253;