diff --git a/mercurial/util.py b/mercurial/util.py
--- a/mercurial/util.py
+++ b/mercurial/util.py
@@ -1544,6 +1544,7 @@ def checksignature(func):
 
 # a whilelist of known filesystems where hardlink works reliably
 _hardlinkfswhitelist = {
+    'apfs',
     'btrfs',
     'ext2',
     'ext3',