mercurial/pure/parsers.py
changeset 47509 80dc1d452993
parent 47508 67d11b0f659f
child 47512 769037a279ec
--- a/mercurial/pure/parsers.py	Sat Jul 03 03:55:23 2021 +0200
+++ b/mercurial/pure/parsers.py	Sat Jul 03 04:01:17 2021 +0200
@@ -64,6 +64,22 @@
         else:
             raise IndexError(idx)
 
+    def v1_state(self):
+        """return a "state" suitable for v1 serialization"""
+        return self._state
+
+    def v1_mode(self):
+        """return a "mode" suitable for v1 serialization"""
+        return self._mode
+
+    def v1_size(self):
+        """return a "size" suitable for v1 serialization"""
+        return self._size
+
+    def v1_mtime(self):
+        """return a "mtime" suitable for v1 serialization"""
+        return self._mtime
+
 
 def gettype(q):
     return int(q & 0xFFFF)
@@ -450,7 +466,14 @@
 
         if f in copymap:
             f = b"%s\0%s" % (f, copymap[f])
-        e = _pack(b">cllll", e[0], e[1], e[2], e[3], len(f))
+        e = _pack(
+            b">cllll",
+            e.v1_state(),
+            e.v1_mode(),
+            e.v1_size(),
+            e.v1_mtime(),
+            len(f),
+        )
         write(e)
         write(f)
     return cs.getvalue()