comparison mercurial/cmdutil.py @ 29137:d115cbf5980b

dirstate: make backup methods public They are called from outside of dirstate anyway and I want the localrepo to use them too.
author Mateusz Kwapich <mitrandir@fb.com>
date Thu, 05 May 2016 17:06:54 -0700
parents f2aa1c3e7e77
children ead25aa27a43
comparison
equal deleted inserted replaced
29136:e05bdc01505f 29137:d115cbf5980b
3516 ''' 3516 '''
3517 3517
3518 def __init__(self, repo, name): 3518 def __init__(self, repo, name):
3519 self._repo = repo 3519 self._repo = repo
3520 self._suffix = '.backup.%s.%d' % (name, id(self)) 3520 self._suffix = '.backup.%s.%d' % (name, id(self))
3521 repo.dirstate._savebackup(repo.currenttransaction(), self._suffix) 3521 repo.dirstate.savebackup(repo.currenttransaction(), self._suffix)
3522 self._active = True 3522 self._active = True
3523 self._closed = False 3523 self._closed = False
3524 3524
3525 def __del__(self): 3525 def __del__(self):
3526 if self._active: # still active 3526 if self._active: # still active
3534 if not self._active: # already inactivated 3534 if not self._active: # already inactivated
3535 msg = (_("can't close already inactivated backup: dirstate%s") 3535 msg = (_("can't close already inactivated backup: dirstate%s")
3536 % self._suffix) 3536 % self._suffix)
3537 raise error.Abort(msg) 3537 raise error.Abort(msg)
3538 3538
3539 self._repo.dirstate._clearbackup(self._repo.currenttransaction(), 3539 self._repo.dirstate.clearbackup(self._repo.currenttransaction(),
3540 self._suffix) 3540 self._suffix)
3541 self._active = False 3541 self._active = False
3542 self._closed = True 3542 self._closed = True
3543 3543
3544 def _abort(self): 3544 def _abort(self):
3545 self._repo.dirstate._restorebackup(self._repo.currenttransaction(), 3545 self._repo.dirstate.restorebackup(self._repo.currenttransaction(),
3546 self._suffix) 3546 self._suffix)
3547 self._active = False 3547 self._active = False
3548 3548
3549 def release(self): 3549 def release(self):
3550 if not self._closed: 3550 if not self._closed: