mercurial/dirstate.py
changeset 26632 59b5e8844eb0
parent 26630 3111b45a2bbf
child 26633 020b12d591f3
--- a/mercurial/dirstate.py	Tue Oct 13 12:25:43 2015 -0700
+++ b/mercurial/dirstate.py	Wed Oct 14 02:49:17 2015 +0900
@@ -1051,3 +1051,22 @@
             # that
             return list(files)
         return [f for f in dmap if match(f)]
+
+    def _savebackup(self, repo, suffix):
+        '''Save current dirstate into backup file with suffix'''
+        self.write()
+        filename = self._filename
+        self._opener.write(filename + suffix, self._opener.tryread(filename))
+
+    def _restorebackup(self, repo, suffix):
+        '''Restore dirstate by backup file with suffix'''
+        # this "invalidate()" prevents "wlock.release()" from writing
+        # changes of dirstate out after restoring from backup file
+        self.invalidate()
+        filename = self._filename
+        self._opener.rename(filename + suffix, filename)
+
+    def _clearbackup(self, repo, suffix):
+        '''Clear backup file with suffix'''
+        filename = self._filename
+        self._opener.unlink(filename + suffix)