# HG changeset patch # User Laurent Charignon # Date 1436470927 25200 # Node ID a8a4c8b8550d93b6abb48acc64fabd04aa338af0 # Parent fa1a27009c7653116d6dd1c25b1be4bf4e452e79 inhibit: add missing locking in wrapper for obsmarker creation The develwarning for transaction without lock rightfully pointed out to this issue. Before this patch we were not locking in the transaction for obsmarker creation and therefore showing the warnings. diff -r fa1a27009c76 -r a8a4c8b8550d hgext/inhibit.py --- a/hgext/inhibit.py Fri Jun 26 22:26:48 2015 +0200 +++ b/hgext/inhibit.py Thu Jul 09 12:42:07 2015 -0700 @@ -155,14 +155,16 @@ def _createmarkers(orig, repo, relations, flag=0, date=None, metadata=None): """wrap markers create to make sure we de-inhibit target nodes""" # wrapping transactio to unify the one in each function - tr = repo.transaction('add-obsolescence-marker') + lock = tr = None try: + lock = repo.lock() + tr = repo.transaction('add-obsolescence-marker') orig(repo, relations, flag, date, metadata) precs = (r[0].node() for r in relations) _deinhibitmarkers(repo, precs) tr.close() finally: - tr.release() + lockmod.release(tr, lock) def transactioncallback(orig, repo, *args, **kwargs): """ Wrap localrepo.transaction to inhibit new obsolete changes """