[PATCH] keyword: use context manager for rollback locking
Christian Ebert
blacktrash at gmx.net
Tue Jun 20 12:16:08 UTC 2017
# HG changeset patch
# User Christian Ebert <blacktrash at gmx.net>
# Date 1497959496 -3600
# Tue Jun 20 12:51:36 2017 +0100
# Node ID 8d47bf86d05de2bff7cd2b3abeb7ae1de66d2848
# Parent 661025fd3e1cd5d5e2dee12b7f64312d6cd48a0b
keyword: use context manager for rollback locking
diff --git a/hgext/keyword.py b/hgext/keyword.py
--- a/hgext/keyword.py
+++ b/hgext/keyword.py
@@ -639,22 +639,21 @@ def reposetup(ui, repo):
return n
def rollback(self, dryrun=False, force=False):
- wlock = self.wlock()
- origrestrict = kwt.restrict
- try:
- if not dryrun:
- changed = self['.'].files()
- ret = super(kwrepo, self).rollback(dryrun, force)
- if not dryrun:
- ctx = self['.']
- modified, added = _preselect(ctx.status(), changed)
- kwt.restrict = False
- kwt.overwrite(ctx, modified, True, True)
- kwt.overwrite(ctx, added, True, False)
- return ret
- finally:
- kwt.restrict = origrestrict
- wlock.release()
+ with self.wlock():
+ origrestrict = kwt.restrict
+ try:
+ if not dryrun:
+ changed = self['.'].files()
+ ret = super(kwrepo, self).rollback(dryrun, force)
+ if not dryrun:
+ ctx = self['.']
+ modified, added = _preselect(ctx.status(), changed)
+ kwt.restrict = False
+ kwt.overwrite(ctx, modified, True, True)
+ kwt.overwrite(ctx, added, True, False)
+ return ret
+ finally:
+ kwt.restrict = origrestrict
# monkeypatches
def kwpatchfile_init(orig, self, ui, gp, backend, store, eolmode=None):
More information about the Mercurial-devel
mailing list