# HG changeset patch # User Martin von Zweigbergk # Date 1515609191 28800 # Node ID 09285733ad719d49fa4643e2d51eba46c8a73c8d # Parent 5574629d5d455f7267d717d4d51f81d9a493ed96 obsolete: use context manager for transaction in pushmarker() Differential Revision: https://phab.mercurial-scm.org/D1837 diff -r 5574629d5d45 -r 09285733ad71 mercurial/obsolete.py --- a/mercurial/obsolete.py Wed Jan 10 10:32:16 2018 -0800 +++ b/mercurial/obsolete.py Wed Jan 10 10:33:11 2018 -0800 @@ -838,15 +838,10 @@ repo.ui.warn(_('unexpected old value for %r') % key) return False data = util.b85decode(new) - with repo.lock(): - tr = repo.transaction('pushkey: obsolete markers') - try: - repo.obsstore.mergemarkers(tr, data) - repo.invalidatevolatilesets() - tr.close() - return True - finally: - tr.release() + with repo.lock(), repo.transaction('pushkey: obsolete markers') as tr: + repo.obsstore.mergemarkers(tr, data) + repo.invalidatevolatilesets() + return True # keep compatibility for the 4.3 cycle def allprecursors(obsstore, nodes, ignoreflags=0):