Mercurial > public > mercurial-scm > hg
annotate rust/hg-core/src/exit_codes.rs @ 51616:b08c5fbe0e70 stable
rust: blanket implementation of Graph for Graph references
The need comes from the fact that `AncestorsIterator` and many
Graph-related algorithms take ownership of the `Graph` they work with.
This, in turn is due to them needing to accept the `Index` instances
that are provided by the Python layers (that neither rhg nor `RHGitaly`
use, of course): the fact that nowadays the Python layer holds an object
that is itself implemented in Rust does not change the core problem that
they cannot be tracked by the borrow checker.
Even though it looks like cloning `Changelog` would be cheap, it seems
hard to guarantee that on the long run. The object is already too rich
for us to be comfortable with it, when using references is the most
natural and guaranteed way of proceeding.
The added test seems a bit superfleous, but it will act as a reminder
that this feature is really useful until something in the Mercurial code
base actually uses it.
author | Georges Racinet <georges.racinet@octobus.net> |
---|---|
date | Mon, 22 Apr 2024 19:47:08 +0200 |
parents | 7c93e38a0bbd |
children |
rev | line source |
---|---|
47407
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 |
49489
7c93e38a0bbd
rhg-status: add support for narrow clones
Rapha?l Gom?s <rgomes@octobus.net>
parents:
49149
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:
49149
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:
49149
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:
49149
diff
changeset
|
15 |
47407
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; |
49149
006688e36e12
rhg: use `Command::exec` instead of `Command::status`
Rapha?l Gom?s <rgomes@octobus.net>
parents:
47407
diff
changeset
|
24 |
006688e36e12
rhg: use `Command::exec` instead of `Command::status`
Rapha?l Gom?s <rgomes@octobus.net>
parents:
47407
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:
47407
diff
changeset
|
26 pub const INVALID_FALLBACK: ExitCode = 253; |