--- a/rust/rhg/src/commands/files.rs Wed Jan 11 17:08:23 2023 +0100
+++ b/rust/rhg/src/commands/files.rs Wed Jan 11 17:30:55 2023 +0100
@@ -51,24 +51,15 @@
));
}
+ let (narrow_matcher, narrow_warnings) = narrow::matcher(repo)?;
+ print_narrow_sparse_warnings(&narrow_warnings, &[], invocation.ui, repo)?;
+
if let Some(rev) = rev {
- if repo.has_narrow() {
- return Err(CommandError::unsupported(
- "rhg files -r <rev> is not supported in narrow clones",
- ));
- }
- let files = list_rev_tracked_files(repo, rev)
+ let files = list_rev_tracked_files(repo, rev, narrow_matcher)
.map_err(|e| (e, rev.as_ref()))?;
display_files(invocation.ui, repo, files.iter())
} else {
// The dirstate always reflects the sparse narrowspec.
- let (narrow_matcher, narrow_warnings) = narrow::matcher(repo)?;
- print_narrow_sparse_warnings(
- &narrow_warnings,
- &[],
- invocation.ui,
- repo,
- )?;
let dirstate = repo.dirstate_map()?;
let files_res: Result<Vec<_>, _> =
filter_map_results(dirstate.iter(), |(path, entry)| {