[PATCH 2 of 3 V2] contrib: remove the now useless lock-checker.py extension

Pierre-Yves David pierre-yves.david at ens-lyon.org
Wed Mar 18 18:47:56 CDT 2015


# HG changeset patch
# User Pierre-Yves David <pierre-yves.david at fb.com>
# Date 1426047911 25200
#      Tue Mar 10 21:25:11 2015 -0700
# Node ID 81e2aeedbed4a8b18dc7d8d3f9d6f8d7eb6d0d24
# Parent  9ca943457b05281a1dba7fb78005b500ec5355ad
contrib: remove the now useless lock-checker.py extension

This feature is in core now. And we do not keep backward compability for
contrib.

diff --git a/contrib/lock-checker.py b/contrib/lock-checker.py
deleted file mode 100644
--- a/contrib/lock-checker.py
+++ /dev/null
@@ -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


More information about the Mercurial-devel mailing list