mercurial/revlog.py
branchstable
changeset 50659 12f13b13f414
parent 50658 978ffa09910b
child 50683 a41eeb877d07
--- a/mercurial/revlog.py	Thu Jun 08 11:08:19 2023 +0200
+++ b/mercurial/revlog.py	Thu Jun 08 14:28:21 2023 +0200
@@ -2026,7 +2026,15 @@
 
         The file will only exist if a splitting operation is in progress, but
         it is always expected at the same location."""
-        return self.radix + b'.i.s'
+        parts = os.path.split(self.radix)
+        if len(parts) > 1:
+            # adds a '-s' prefix to the ``data/` or `meta/` base
+            head = parts[0] + b'-s'
+            return os.path.join(head, *parts[1:])
+        else:
+            # the revlog is stored at the root of the store (changelog or
+            # manifest), no risk of collision.
+            return self.radix + b'.i.s'
 
     def _enforceinlinesize(self, tr, side_write=True):
         """Check if the revlog is too big for inline and convert if so.