Mercurial > public > mercurial-scm > hg-stable
diff rust/rhg/src/commands/files.rs @ 49758:37bc3edef76f
rhg: upgrade `clap` dependency
This one is the worst one to upgrade since v2 -> v4 broke a ton of API,
which thankfully seems saner now.
Contrary to what was done in the `hg-core/src/examples/nodemap` rewrite,
we're not switching from the "builder" pattern to the "derive" pattern,
since that would imply a much larger diff. It can be done incrementally.
author | Rapha?l Gom?s <rgomes@octobus.net> |
---|---|
date | Tue, 15 Nov 2022 00:02:43 +0100 |
parents | 9b0e1f64656f |
children | e43f91244de2 |
line wrap: on
line diff
--- a/rust/rhg/src/commands/files.rs Mon Nov 14 17:18:56 2022 +0100 +++ b/rust/rhg/src/commands/files.rs Tue Nov 15 00:02:43 2022 +0100 @@ -14,15 +14,14 @@ Returns 0 on success. "; -pub fn args() -> clap::App<'static, 'static> { - clap::SubCommand::with_name("files") +pub fn args() -> clap::Command { + clap::command!("files") .arg( - Arg::with_name("rev") + Arg::new("rev") .help("search the repository as it is in REV") - .short("-r") - .long("--revision") - .value_name("REV") - .takes_value(true), + .short('r') + .long("revision") + .value_name("REV"), ) .about(HELP_TEXT) } @@ -35,7 +34,7 @@ )); } - let rev = invocation.subcommand_args.value_of("rev"); + let rev = invocation.subcommand_args.get_one::<String>("rev"); let repo = invocation.repo?; @@ -57,7 +56,8 @@ "rhg files -r <rev> is not supported in narrow clones", )); } - let files = list_rev_tracked_files(repo, rev).map_err(|e| (e, rev))?; + let files = list_rev_tracked_files(repo, rev) + .map_err(|e| (e, rev.as_ref()))?; display_files(invocation.ui, repo, files.iter()) } else { // The dirstate always reflects the sparse narrowspec, so if