Mercurial > public > mercurial-scm > hg-stable
annotate rust/hg-core/src/operations/mod.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 | bf8837e3d7ce |
children | 95ffa065204e |
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; |
45379
0f5286ccf82c
hg-core: define a `ListTrackedFiles` `Operation`
Antoine Cezar <antoine.cezar@octobus.net>
parents:
45378
diff
changeset
|
7 mod list_tracked_files; |
46757
b1f2c2b336ec
rhg: `cat` command: print error messages for missing files
Simon Sapin <simon.sapin@octobus.net>
parents:
46514
diff
changeset
|
8 pub use cat::{cat, CatOutput}; |
46505
b274aa2f20fd
rust: remove three enums that were identical to `RevlogError`
Simon Sapin <simon.sapin@octobus.net>
parents:
46502
diff
changeset
|
9 pub use debugdata::{debug_data, DebugDataKind}; |
46508
776b97179c06
rust: Remove DirstateParseError and ListDirstateTrackedFilesError
Simon Sapin <simon.sapin@octobus.net>
parents:
46505
diff
changeset
|
10 pub use list_tracked_files::Dirstate; |
46505
b274aa2f20fd
rust: remove three enums that were identical to `RevlogError`
Simon Sapin <simon.sapin@octobus.net>
parents:
46502
diff
changeset
|
11 pub use list_tracked_files::{list_rev_tracked_files, FilesForRev}; |