diff --git a/rust/hg-core/src/dirstate_tree/on_disk.rs b/rust/hg-core/src/dirstate_tree/on_disk.rs --- a/rust/hg-core/src/dirstate_tree/on_disk.rs +++ b/rust/hg-core/src/dirstate_tree/on_disk.rs @@ -374,14 +374,26 @@ } else { None }; + let fallback_exec = if self.flags().contains(Flags::HAS_FALLBACK_EXEC) + { + Some(self.flags().contains(Flags::FALLBACK_EXEC)) + } else { + None + }; + let fallback_symlink = + if self.flags().contains(Flags::HAS_FALLBACK_SYMLINK) { + Some(self.flags().contains(Flags::FALLBACK_SYMLINK)) + } else { + None + }; DirstateEntry::from_v2_data( wdir_tracked, p1_tracked, p2_info, mode_size, mtime, - None, - None, + fallback_exec, + fallback_symlink, ) }