diff mercurial/cmdutil.py @ 26746:3c1d297fe929

dirstateguard: remove layering violation around saving/restoring backup This violation, which passes 'repo' object to dirstate, was introduced by 59b5e8844eb0 and 020b12d591f3.
author FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
date Sat, 17 Oct 2015 01:15:33 +0900
parents bec1a579ebc4
children 9f9ec4abe700
line wrap: on
line diff
--- a/mercurial/cmdutil.py	Thu Oct 15 15:20:44 2015 -0700
+++ b/mercurial/cmdutil.py	Sat Oct 17 01:15:33 2015 +0900
@@ -3339,7 +3339,7 @@
     def __init__(self, repo, name):
         self._repo = repo
         self._suffix = '.backup.%s.%d' % (name, id(self))
-        repo.dirstate._savebackup(repo, self._suffix)
+        repo.dirstate._savebackup(repo.currenttransaction(), self._suffix)
         self._active = True
         self._closed = False
 
@@ -3357,12 +3357,14 @@
                    % self._suffix)
             raise error.Abort(msg)
 
-        self._repo.dirstate._clearbackup(self._repo, self._suffix)
+        self._repo.dirstate._clearbackup(self._repo.currenttransaction(),
+                                         self._suffix)
         self._active = False
         self._closed = True
 
     def _abort(self):
-        self._repo.dirstate._restorebackup(self._repo, self._suffix)
+        self._repo.dirstate._restorebackup(self._repo.currenttransaction(),
+                                           self._suffix)
         self._active = False
 
     def release(self):