Mercurial > public > mercurial-scm > hg
view rust/rhg/src/commands/debugrequirements.rs @ 49894: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 | 37bc3edef76f |
children |
line wrap: on
line source
use crate::error::CommandError; pub const HELP_TEXT: &str = " Print the current repo requirements. "; pub fn args() -> clap::Command { clap::command!("debugrequirements").about(HELP_TEXT) } pub fn run(invocation: &crate::CliInvocation) -> Result<(), CommandError> { let repo = invocation.repo?; let mut output = String::new(); let mut requirements: Vec<_> = repo.requirements().iter().collect(); requirements.sort(); for req in requirements { output.push_str(req); output.push('\n'); } invocation.ui.write_stdout(output.as_bytes())?; Ok(()) }