On Fri, 24 Mar 2017 23:34:28 -0400, Matt Harbison wrote:
> # HG changeset patch
> # User Matt Harbison <matt_harbi...@yahoo.com>
> # Date 1490327243 14400
> #      Thu Mar 23 23:47:23 2017 -0400
> # Node ID c053dc8a24afad24872397e5cd3f57411fc7d172
> # Parent  d0c2db2d9f13dca534c598de050eb1919ef79059
> repair: use context manager for lock management

Sure. Queued this, thanks.

> I found several other instances of acquiring the lock inside of the 'try', but
> those finally blocks handle None references.  I also started switching some
> trivial try/finally blocks to context managers, but didn't get them all 
> because
> indenting over 3x for lock, wlock and transaction would have spilled over 80
> characters.  That got me wondering if there should be a repo.rwlock(), to 
> handle
> locking and unlocking in the proper order.

We have lockmod.release() helper. We also have util.ctxmanager(), but IMHO it
doesn't improve code readability that much.

> It also looks like py27 supports supports multiple context managers for a 
> single
> 'with' statement.  Should I hold off on the rest until py26 is dropped?
_______________________________________________
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel

Reply via email to