##// END OF EJS Templates
keyword: use context manager for rollback locking
Christian Ebert -
r32935:69d1c3ea default
parent child Browse files
Show More
@@ -639,22 +639,21 b' def reposetup(ui, repo):'
639 return n
639 return n
640
640
641 def rollback(self, dryrun=False, force=False):
641 def rollback(self, dryrun=False, force=False):
642 wlock = self.wlock()
642 with self.wlock():
643 origrestrict = kwt.restrict
643 origrestrict = kwt.restrict
644 try:
644 try:
645 if not dryrun:
645 if not dryrun:
646 changed = self['.'].files()
646 changed = self['.'].files()
647 ret = super(kwrepo, self).rollback(dryrun, force)
647 ret = super(kwrepo, self).rollback(dryrun, force)
648 if not dryrun:
648 if not dryrun:
649 ctx = self['.']
649 ctx = self['.']
650 modified, added = _preselect(ctx.status(), changed)
650 modified, added = _preselect(ctx.status(), changed)
651 kwt.restrict = False
651 kwt.restrict = False
652 kwt.overwrite(ctx, modified, True, True)
652 kwt.overwrite(ctx, modified, True, True)
653 kwt.overwrite(ctx, added, True, False)
653 kwt.overwrite(ctx, added, True, False)
654 return ret
654 return ret
655 finally:
655 finally:
656 kwt.restrict = origrestrict
656 kwt.restrict = origrestrict
657 wlock.release()
658
657
659 # monkeypatches
658 # monkeypatches
660 def kwpatchfile_init(orig, self, ui, gp, backend, store, eolmode=None):
659 def kwpatchfile_init(orig, self, ui, gp, backend, store, eolmode=None):
General Comments 0
You need to be logged in to leave comments. Login now