[Updated] [++ ] D11380: rhg: fallback if the current command has any generic hook defined
Alphare (Raphaël Gomès)
phabricator at mercurial-scm.org
Fri Sep 10 22:10:23 UTC 2021
Alphare updated this revision to Diff 30204.
REPOSITORY
rHG Mercurial
CHANGES SINCE LAST UPDATE
https://phab.mercurial-scm.org/D11380?vs=30170&id=30204
BRANCH
default
CHANGES SINCE LAST ACTION
https://phab.mercurial-scm.org/D11380/new/
REVISION DETAIL
https://phab.mercurial-scm.org/D11380
AFFECTED FILES
rust/rhg/src/main.rs
tests/test-rhg.t
CHANGE DETAILS
diff --git a/tests/test-rhg.t b/tests/test-rhg.t
--- a/tests/test-rhg.t
+++ b/tests/test-rhg.t
@@ -212,6 +212,19 @@
unsupported feature: fileset
[252]
+Fallback with generic hooks
+ $ $NO_FALLBACK rhg cat original --config hooks.pre-cat=something
+ unsupported feature: pre-cat hook defined
+ [252]
+
+ $ $NO_FALLBACK rhg cat original --config hooks.post-cat=something
+ unsupported feature: post-cat hook defined
+ [252]
+
+ $ $NO_FALLBACK rhg cat original --config hooks.fail-cat=something
+ unsupported feature: fail-cat hook defined
+ [252]
+
Requirements
$ $NO_FALLBACK rhg debugrequirements
dotencode
diff --git a/rust/rhg/src/main.rs b/rust/rhg/src/main.rs
--- a/rust/rhg/src/main.rs
+++ b/rust/rhg/src/main.rs
@@ -68,6 +68,17 @@
let matches = app.clone().get_matches_safe()?;
let (subcommand_name, subcommand_matches) = matches.subcommand();
+
+ for prefix in ["pre", "post", "fail"].iter() {
+ // Mercurial allows users to define generic hooks for commands,
+ // fallback if any are detected
+ let item = format!("{}-{}", prefix, subcommand_name);
+ let hook_for_command = config.get_str(b"hooks", item.as_bytes())?;
+ if hook_for_command.is_some() {
+ let msg = format!("{}-{} hook defined", prefix, subcommand_name);
+ return Err(CommandError::unsupported(msg));
+ }
+ }
let run = subcommand_run_fn(subcommand_name)
.expect("unknown subcommand name from clap despite AppSettings::SubcommandRequired");
let subcommand_args = subcommand_matches
To: Alphare, #hg-reviewers, SimonSapin
Cc: SimonSapin, mercurial-patches
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mercurial-scm.org/pipermail/mercurial-patches/attachments/20210910/6e10a014/attachment-0002.html>
More information about the Mercurial-patches
mailing list