annotate rust/hg-core/src/exit_codes.rs @ 49970:678588b01af1

rhg: implement checkexec to support weird filesystems In particular, some of our repos are stored on a fileserver that simulates POSIX permissions poorly, in such a way that prevents the removal of execute permission. This causes rhg show a spurious unclean status, even though python hg reports the repo as clean. We fix this by making rhg implement the ~same checkexec logic that python hg does.
author Arseniy Alekseyev <aalekseyev@janestreet.com>
date Thu, 05 Jan 2023 17:15:03 +0000
parents 7c93e38a0bbd
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
47413
6e49769b7f97 rhg: add exit code to HgError::Abort()
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
1 pub type ExitCode = i32;
6e49769b7f97 rhg: add exit code to HgError::Abort()
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
2
6e49769b7f97 rhg: add exit code to HgError::Abort()
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
3 /// Successful exit
6e49769b7f97 rhg: add exit code to HgError::Abort()
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
4 pub const OK: ExitCode = 0;
6e49769b7f97 rhg: add exit code to HgError::Abort()
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
5
6e49769b7f97 rhg: add exit code to HgError::Abort()
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
6 /// Generic abort
6e49769b7f97 rhg: add exit code to HgError::Abort()
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
7 pub const ABORT: ExitCode = 255;
6e49769b7f97 rhg: add exit code to HgError::Abort()
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
8
6e49769b7f97 rhg: add exit code to HgError::Abort()
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
9 // Abort when there is a config related error
6e49769b7f97 rhg: add exit code to HgError::Abort()
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
10 pub const CONFIG_ERROR_ABORT: ExitCode = 30;
6e49769b7f97 rhg: add exit code to HgError::Abort()
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
11
49502
7c93e38a0bbd rhg-status: add support for narrow clones
Rapha?l Gom?s <rgomes@octobus.net>
parents: 48846
diff changeset
12 /// Indicates that the operation might work if retried in a different state.
7c93e38a0bbd rhg-status: add support for narrow clones
Rapha?l Gom?s <rgomes@octobus.net>
parents: 48846
diff changeset
13 /// Examples: Unresolved merge conflicts, unfinished operations
7c93e38a0bbd rhg-status: add support for narrow clones
Rapha?l Gom?s <rgomes@octobus.net>
parents: 48846
diff changeset
14 pub const STATE_ERROR: ExitCode = 20;
7c93e38a0bbd rhg-status: add support for narrow clones
Rapha?l Gom?s <rgomes@octobus.net>
parents: 48846
diff changeset
15
47413
6e49769b7f97 rhg: add exit code to HgError::Abort()
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
16 // Abort when there is an error while parsing config
6e49769b7f97 rhg: add exit code to HgError::Abort()
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
17 pub const CONFIG_PARSE_ERROR_ABORT: ExitCode = 10;
6e49769b7f97 rhg: add exit code to HgError::Abort()
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
18
6e49769b7f97 rhg: add exit code to HgError::Abort()
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
19 /// Generic something completed but did not succeed
6e49769b7f97 rhg: add exit code to HgError::Abort()
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
20 pub const UNSUCCESSFUL: ExitCode = 1;
6e49769b7f97 rhg: add exit code to HgError::Abort()
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
21
6e49769b7f97 rhg: add exit code to HgError::Abort()
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
22 /// Command or feature not implemented by rhg
6e49769b7f97 rhg: add exit code to HgError::Abort()
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
23 pub const UNIMPLEMENTED: ExitCode = 252;
48846
006688e36e12 rhg: use `Command::exec` instead of `Command::status`
Rapha?l Gom?s <rgomes@octobus.net>
parents: 47413
diff changeset
24
006688e36e12 rhg: use `Command::exec` instead of `Command::status`
Rapha?l Gom?s <rgomes@octobus.net>
parents: 47413
diff changeset
25 /// The fallback path is not valid
006688e36e12 rhg: use `Command::exec` instead of `Command::status`
Rapha?l Gom?s <rgomes@octobus.net>
parents: 47413
diff changeset
26 pub const INVALID_FALLBACK: ExitCode = 253;