Mercurial > public > mercurial-scm > hg-stable
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):