Mercurial > public > mercurial-scm > hg
view rust/rhg/src/commands/config.rs @ 47279:40b51c28b242
dirstate-v2: Update the expected output of some tests for new requirement
Fix most test failures (except in test-narrow-debugrebuilddirstate.t and
test-upgrade-repo.t) caused by the new entry in config or in .hg/requires
when running `run-tests.py --extra-config-opt format.exp-dirstate-v2=1`
There is no CI?so far for this configuration.
Differential Revision: https://phab.mercurial-scm.org/D10718
author | Simon Sapin <simon.sapin@octobus.net> |
---|---|
date | Wed, 19 May 2021 13:15:00 +0200 |
parents | b1e6265e8336 |
children | 37bc3edef76f |
line wrap: on
line source
use crate::error::CommandError; use clap::Arg; use format_bytes::format_bytes; use hg::errors::HgError; use hg::utils::SliceExt; pub const HELP_TEXT: &str = " With one argument of the form section.name, print just the value of that config item. "; pub fn args() -> clap::App<'static, 'static> { clap::SubCommand::with_name("config") .arg( Arg::with_name("name") .help("the section.name to print") .value_name("NAME") .required(true) .takes_value(true), ) .about(HELP_TEXT) } pub fn run(invocation: &crate::CliInvocation) -> Result<(), CommandError> { let (section, name) = invocation .subcommand_args .value_of("name") .expect("missing required CLI argument") .as_bytes() .split_2(b'.') .ok_or_else(|| HgError::unsupported("hg config <section>"))?; if let Some(value) = invocation.config.get(section, name) { invocation.ui.write_stdout(&format_bytes!(b"{}\n", value))?; Ok(()) } else { Err(CommandError::Unsuccessful) } }