annotate rust/hg-core/src/operations/mod.rs @ 45877:5c736ba5dc27

rust-status: don't bubble up os errors, translate them to bad matches In the rare cases when either the OS/filesystem throws an error on an otherwise valid action, or because a path is not representable on the filesystem, or because of concurrent actions in the filesystem, we want to warn the user about said path instead of bubbling up the error, causing an exception to be raised in the Python layer. Differential Revision: https://phab.mercurial-scm.org/D9320
author Rapha?l Gom?s <rgomes@octobus.net>
date Mon, 16 Nov 2020 16:38:57 +0100
parents 522ec3dc44b9
children dca9cb99971c
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
45378
452ece5654c5 hg-core: remove the `Operation` trait
Antoine Cezar <antoine.cezar@octobus.net>
parents: 45113
diff changeset
1 //! A distinction is made between operations and commands.
452ece5654c5 hg-core: remove the `Operation` trait
Antoine Cezar <antoine.cezar@octobus.net>
parents: 45113
diff changeset
2 //! An operation is what can be done whereas a command is what is exposed by
452ece5654c5 hg-core: remove the `Operation` trait
Antoine Cezar <antoine.cezar@octobus.net>
parents: 45113
diff changeset
3 //! the cli. A single command can use several operations to achieve its goal.
452ece5654c5 hg-core: remove the `Operation` trait
Antoine Cezar <antoine.cezar@octobus.net>
parents: 45113
diff changeset
4
45547
522ec3dc44b9 hg-core: add a `CatRev` operation
Antoine Cezar <antoine.cezar@octobus.net>
parents: 45542
diff changeset
5 mod cat;
45533
b56df13a0450 hg-core: define a `DebugData` `Operation`
Antoine Cezar <antoine.cezar@octobus.net>
parents: 45379
diff changeset
6 mod debugdata;
45113
98817e5daca7 hg-core: define a `dirstate_status` `Operation`
Rapha?l Gom?s <rgomes@octobus.net>
parents: 45000
diff changeset
7 mod dirstate_status;
45000
5965efb609b6 hg-core: add FindRoot operation to find repository root path
Antoine Cezar <antoine.cezar@octobus.net>
parents: 44999
diff changeset
8 mod find_root;
45379
0f5286ccf82c hg-core: define a `ListTrackedFiles` `Operation`
Antoine Cezar <antoine.cezar@octobus.net>
parents: 45378
diff changeset
9 mod list_tracked_files;
45547
522ec3dc44b9 hg-core: add a `CatRev` operation
Antoine Cezar <antoine.cezar@octobus.net>
parents: 45542
diff changeset
10 pub use cat::{CatRev, CatRevError, CatRevErrorKind};
45534
66756b34c06e rhg: add a `DebugData` `Command` to prepare the `rhg debugdata` subcommand
Antoine Cezar <antoine.cezar@octobus.net>
parents: 45533
diff changeset
11 pub use debugdata::{
66756b34c06e rhg: add a `DebugData` `Command` to prepare the `rhg debugdata` subcommand
Antoine Cezar <antoine.cezar@octobus.net>
parents: 45533
diff changeset
12 DebugData, DebugDataError, DebugDataErrorKind, DebugDataKind,
66756b34c06e rhg: add a `DebugData` `Command` to prepare the `rhg debugdata` subcommand
Antoine Cezar <antoine.cezar@octobus.net>
parents: 45533
diff changeset
13 };
45000
5965efb609b6 hg-core: add FindRoot operation to find repository root path
Antoine Cezar <antoine.cezar@octobus.net>
parents: 44999
diff changeset
14 pub use find_root::{FindRoot, FindRootError, FindRootErrorKind};
45379
0f5286ccf82c hg-core: define a `ListTrackedFiles` `Operation`
Antoine Cezar <antoine.cezar@octobus.net>
parents: 45378
diff changeset
15 pub use list_tracked_files::{
45541
72b7d58d6e35 hg-core: simplify `list_tracked_files` operation
Antoine Cezar <antoine.cezar@octobus.net>
parents: 45534
diff changeset
16 ListDirstateTrackedFiles, ListDirstateTrackedFilesError,
72b7d58d6e35 hg-core: simplify `list_tracked_files` operation
Antoine Cezar <antoine.cezar@octobus.net>
parents: 45534
diff changeset
17 ListDirstateTrackedFilesErrorKind,
45379
0f5286ccf82c hg-core: define a `ListTrackedFiles` `Operation`
Antoine Cezar <antoine.cezar@octobus.net>
parents: 45378
diff changeset
18 };
45542
639f33f22faf hg-core: add a `ListRevTrackedFiles` operation
Antoine Cezar <antoine.cezar@octobus.net>
parents: 45541
diff changeset
19 pub use list_tracked_files::{
639f33f22faf hg-core: add a `ListRevTrackedFiles` operation
Antoine Cezar <antoine.cezar@octobus.net>
parents: 45541
diff changeset
20 ListRevTrackedFiles, ListRevTrackedFilesError,
639f33f22faf hg-core: add a `ListRevTrackedFiles` operation
Antoine Cezar <antoine.cezar@octobus.net>
parents: 45541
diff changeset
21 ListRevTrackedFilesErrorKind,
639f33f22faf hg-core: add a `ListRevTrackedFiles` operation
Antoine Cezar <antoine.cezar@octobus.net>
parents: 45541
diff changeset
22 };
45000
5965efb609b6 hg-core: add FindRoot operation to find repository root path
Antoine Cezar <antoine.cezar@octobus.net>
parents: 44999
diff changeset
23
45378
452ece5654c5 hg-core: remove the `Operation` trait
Antoine Cezar <antoine.cezar@octobus.net>
parents: 45113
diff changeset
24 // TODO add an `Operation` trait when GAT have landed (rust #44265):
452ece5654c5 hg-core: remove the `Operation` trait
Antoine Cezar <antoine.cezar@octobus.net>
parents: 45113
diff changeset
25 // there is no way to currently define a trait which can both return
452ece5654c5 hg-core: remove the `Operation` trait
Antoine Cezar <antoine.cezar@octobus.net>
parents: 45113
diff changeset
26 // references to `self` and to passed data, which is what we would need.
452ece5654c5 hg-core: remove the `Operation` trait
Antoine Cezar <antoine.cezar@octobus.net>
parents: 45113
diff changeset
27 // Generic Associated Types may fix this and allow us to have a unified
452ece5654c5 hg-core: remove the `Operation` trait
Antoine Cezar <antoine.cezar@octobus.net>
parents: 45113
diff changeset
28 // interface.