diff rust/hg-core/src/operations/debugdata.rs @ 49142:bfc117647c71

rust-revlog: move check for nodemap requirement to caller It's good for both making `Revlog` testable and reusable to have it not depend on the higher-level `Repo` type. This patch is one step in towards that. Additionally, this change in particular gives the callers more control over when to use a nodemap. Differential Revision: https://phab.mercurial-scm.org/D12546
author Martin von Zweigbergk <martinvonz@google.com>
date Tue, 12 Apr 2022 11:40:37 -0700
parents f2f57724d4eb
children 399439c12223
line wrap: on
line diff
--- a/rust/hg-core/src/operations/debugdata.rs	Thu Mar 31 22:54:33 2022 -0700
+++ b/rust/hg-core/src/operations/debugdata.rs	Tue Apr 12 11:40:37 2022 -0700
@@ -6,6 +6,7 @@
 // GNU General Public License version 2 or any later version.
 
 use crate::repo::Repo;
+use crate::requirements;
 use crate::revlog::revlog::{Revlog, RevlogError};
 
 /// Kind of data to debug
@@ -25,7 +26,10 @@
         DebugDataKind::Changelog => "00changelog.i",
         DebugDataKind::Manifest => "00manifest.i",
     };
-    let revlog = Revlog::open(repo, index_file, None)?;
+    let use_nodemap = repo
+        .requirements()
+        .contains(requirements::NODEMAP_REQUIREMENT);
+    let revlog = Revlog::open(repo, index_file, None, use_nodemap)?;
     let rev =
         crate::revset::resolve_rev_number_or_hex_prefix(revset, &revlog)?;
     let data = revlog.get_rev_data(rev)?;