Mercurial > public > mercurial-scm > hg
view rust/rhg/src/commands/debugrequirements.rs @ 47956:81aedf1fc897
rust: Add Repo::dirstate_map and use it in `rhg status`
This moves low-level dirstate wrangling out of the status command and into
a more reusable location.
The open dirstate map is lazily initialized and kept on the Repo object,
for reuse by sub-sequent calls.
Differential Revision: https://phab.mercurial-scm.org/D11398
author | Simon Sapin <simon.sapin@octobus.net> |
---|---|
date | Thu, 09 Sep 2021 21:04:55 +0200 |
parents | 5ce2aa7c2ad5 |
children | 37bc3edef76f |
line wrap: on
line source
use crate::error::CommandError; pub const HELP_TEXT: &str = " Print the current repo requirements. "; pub fn args() -> clap::App<'static, 'static> { clap::SubCommand::with_name("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(()) }