diff --git a/rust/rhg/src/commands/cat.rs b/rust/rhg/src/commands/cat.rs --- a/rust/rhg/src/commands/cat.rs +++ b/rust/rhg/src/commands/cat.rs @@ -46,6 +46,11 @@ pub fn run(invocation: &crate::CliInvoca let mut files = vec![]; for file in file_args.iter() { + if file.starts_with("set:") { + let message = "fileset"; + return Err(CommandError::unsupported(message)); + } + let normalized = cwd.join(&file); // TODO: actually normalize `..` path segments etc? let dotted = normalized.components().any(|c| c.as_os_str() == ".."); diff --git a/tests/test-rhg.t b/tests/test-rhg.t --- a/tests/test-rhg.t +++ b/tests/test-rhg.t @@ -210,6 +210,11 @@ Fallback with shell path segments unsupported feature: `..` or `.` path segment [252] +Fallback with filesets + $ $NO_FALLBACK rhg cat "set:c or b" + unsupported feature: fileset + [252] + Requirements $ $NO_FALLBACK rhg debugrequirements dotencode