contrib/lock-checker.py
branchstable
changeset 24803 e89f909edffa
parent 24753 612ed41ae359
parent 24802 2ee10789d66b
child 24804 2fe9fd88db0b
--- a/contrib/lock-checker.py	Thu Apr 16 22:33:53 2015 +0900
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,39 +0,0 @@
-"""Extension to verify locks are obtained in the required places.
-
-This works by wrapping functions that should be surrounded by a lock
-and asserting the lock is held. Missing locks are called out with a
-traceback printed to stderr.
-
-This currently only checks store locks, not working copy locks.
-"""
-import os
-from mercurial import util
-
-def _checklock(repo):
-    l = repo._lockref and repo._lockref()
-    if l is None or not l.held:
-        util.debugstacktrace('missing lock', skip=1)
-
-def reposetup(ui, repo):
-    orig = repo.__class__
-    class lockcheckrepo(repo.__class__):
-        def _writejournal(self, *args, **kwargs):
-            _checklock(self)
-            return orig._writejournal(self, *args, **kwargs)
-
-        def transaction(self, *args, **kwargs):
-            _checklock(self)
-            return orig.transaction(self, *args, **kwargs)
-
-        # TODO(durin42): kiilerix had a commented-out lock check in
-        # _writebranchcache and _writerequirements
-
-        def _tag(self, *args, **kwargs):
-            _checklock(self)
-            return orig._tag(self, *args, **kwargs)
-
-        def write(self, *args, **kwargs):
-            assert os.path.lexists(self._join('.hg/wlock'))
-            return orig.write(self, *args, **kwargs)
-
-    repo.__class__ = lockcheckrepo