view rust/hg-core/src/exit_codes.rs @ 51106:687e192dae16

rust-matchers: fix quadratic complexity in `FileMatcher` Concretely, this command: ``` $ echo hg up -r <nodeid>; time hg revert dir1 dir2 -r <othernode> --debug hg up -r <nodeid> real 0m14.690s user 0m14.766s sys 0m5.430s ``` was much slower despite using 16 cores before this change. The approach taken here is the same one used in match.py, in exactmatcher. This changeset was originally written by Valentin Gatien-Baron in a private repository. I have redacted the commit message and did a minor clean up of the code.
author Rapha?l Gom?s <rgomes@octobus.net>
date Wed, 18 Oct 2023 14:50:14 +0200
parents 7c93e38a0bbd
children
line wrap: on
line source

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;