mercurial/dirstatemap.py
changeset 50099 0f0880c8a7e5
parent 50081 9a0778bbae6a
parent 50097 ca9d65d69c27
child 50125 eedbf8256263
--- a/mercurial/dirstatemap.py	Thu Feb 16 14:56:59 2023 +0000
+++ b/mercurial/dirstatemap.py	Sat Feb 18 02:39:32 2023 +0100
@@ -114,6 +114,8 @@
         new_docket = docketmod.DirstateDocket.with_new_uuid(
             self.parents(), len(packed), meta
         )
+        if old_docket.uuid == new_docket.uuid:
+            raise error.ProgrammingError(b'dirstate docket name collision')
         data_filename = new_docket.data_filename()
         self._opener.write(data_filename, packed)
         # tell the transaction that we are adding a new file