##// END OF EJS Templates
undo-files: cleanup backup when cleaning undos...
undo-files: cleanup backup when cleaning undos Previously, the backups were left behind, by operation cleaning the undo's like strip, narrow and stream clone. The remaining elevant in the room is the transaction itself, who does not properly cleanup undo backup before copying the new ones.

File last commit:

r50809:58074252 default
r51190:4bcb91c8 stable
Show More
debugrhgsparse.rs
49 lines | 1.5 KiB | application/rls-services+xml | RustLexer
use std::{
ffi::{OsStr, OsString},
os::unix::prelude::OsStrExt,
};
use crate::error::CommandError;
use hg::{self, utils::hg_path::HgPath};
pub const HELP_TEXT: &str = "";
pub fn args() -> clap::Command {
clap::command!("debugrhgsparse")
.arg(
clap::Arg::new("files")
.value_name("FILES")
.required(true)
.num_args(1..)
.value_parser(clap::value_parser!(std::ffi::OsString))
.help("Files to check against sparse profile"),
)
.about(HELP_TEXT)
}
pub fn run(invocation: &crate::CliInvocation) -> Result<(), CommandError> {
let repo = invocation.repo?;
let (matcher, _warnings) = hg::sparse::matcher(repo).unwrap();
let files = invocation.subcommand_args.get_many::<OsString>("files");
if let Some(files) = files {
let files: Vec<&OsStr> = files
.filter(|s| !s.is_empty())
.map(|s| s.as_os_str())
.collect();
for file in files {
invocation.ui.write_stdout(b"matches: ")?;
invocation.ui.write_stdout(
if matcher.matches(HgPath::new(file.as_bytes())) {
b"yes"
} else {
b"no"
},
)?;
invocation.ui.write_stdout(b" | file: ")?;
invocation.ui.write_stdout(file.as_bytes())?;
invocation.ui.write_stdout(b"\n")?;
}
}
Ok(())
}