##// END OF EJS Templates
rhg: set the expected temp file permissions (0o666 minus umask)...
rhg: set the expected temp file permissions (0o666 minus umask) This continues the theme of a48c688d3e80, and fixes the bug #6375, which was causing some problems for us, where a non-group-readable file can't be copied, which breaks some tools that copy the repo. This affects both the `checkexec` file and the temporary file we use for filesystem time measurement, since either of these files remaining on disk can cause this problem, and the 0666 permissions are just the better default here.

File last commit:

r50534:37bc3ede default
r53422:66e34bc4 default
Show More
config.rs
37 lines | 1.0 KiB | application/rls-services+xml | RustLexer
Simon Sapin
rhg: add limited support for the `config` sub-command...
r47255 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.
";
Raphaël Gomès
rhg: upgrade `clap` dependency...
r50534 pub fn args() -> clap::Command {
clap::command!("config")
Simon Sapin
rhg: add limited support for the `config` sub-command...
r47255 .arg(
Raphaël Gomès
rhg: upgrade `clap` dependency...
r50534 Arg::new("name")
Simon Sapin
rhg: add limited support for the `config` sub-command...
r47255 .help("the section.name to print")
.value_name("NAME")
Raphaël Gomès
rhg: upgrade `clap` dependency...
r50534 .required(true),
Simon Sapin
rhg: add limited support for the `config` sub-command...
r47255 )
.about(HELP_TEXT)
}
Simon Sapin
rhg: Group values passed to every sub-command into a struct...
r47334 pub fn run(invocation: &crate::CliInvocation) -> Result<(), CommandError> {
let (section, name) = invocation
.subcommand_args
Raphaël Gomès
rhg: upgrade `clap` dependency...
r50534 .get_one::<String>("name")
Simon Sapin
rhg: add limited support for the `config` sub-command...
r47255 .expect("missing required CLI argument")
.as_bytes()
.split_2(b'.')
Simon Sapin
rhg: Fall back to Python on unsupported `rhg config <section>`...
r47460 .ok_or_else(|| HgError::unsupported("hg config <section>"))?;
Simon Sapin
rhg: add limited support for the `config` sub-command...
r47255
Simon Sapin
rhg: Return an error code for `rhg config Section.idontexist`...
r47481 if let Some(value) = invocation.config.get(section, name) {
invocation.ui.write_stdout(&format_bytes!(b"{}\n", value))?;
Ok(())
} else {
Err(CommandError::Unsuccessful)
}
Simon Sapin
rhg: add limited support for the `config` sub-command...
r47255 }