--- a/rust/hg-core/src/repo.rs Thu Dec 08 16:38:39 2022 +0100
+++ b/rust/hg-core/src/repo.rs Mon Nov 28 12:33:20 2022 +0100
@@ -320,7 +320,14 @@
.set(Some(docket.uuid.to_owned()));
let data_size = docket.data_size();
let metadata = docket.tree_metadata();
- if let Some(data_mmap) = self
+ if crate::vfs::is_on_nfs_mount(docket.data_filename()) {
+ // Don't mmap on NFS to prevent `SIGBUS` error on deletion
+ OwningDirstateMap::new_v2(
+ self.hg_vfs().read(docket.data_filename())?,
+ data_size,
+ metadata,
+ )
+ } else if let Some(data_mmap) = self
.hg_vfs()
.mmap_open(docket.data_filename())
.io_not_found_as_none()?