# HG changeset patch # User Bryan O'Sullivan # Date 1452892487 28800 # Node ID 1c2408c28aff71044dbdc8f82ced26b55373b8e1 # Parent c448d7e00bf98064379ab89063e7c80f881da20c with: use context manager for wlock in shelve deletecmd diff -r c448d7e00bf9 -r 1c2408c28aff hgext/shelve.py --- a/hgext/shelve.py Fri Jan 15 13:14:47 2016 -0800 +++ b/hgext/shelve.py Fri Jan 15 13:14:47 2016 -0800 @@ -365,18 +365,16 @@ """subcommand that deletes a specific shelve""" if not pats: raise error.Abort(_('no shelved changes specified!')) - wlock = repo.wlock() - try: - for name in pats: - for suffix in 'hg patch'.split(): - shelvedfile(repo, name, suffix).movetobackup() - cleanupoldbackups(repo) - except OSError as err: - if err.errno != errno.ENOENT: - raise - raise error.Abort(_("shelved change '%s' not found") % name) - finally: - lockmod.release(wlock) + with repo.wlock(): + try: + for name in pats: + for suffix in 'hg patch'.split(): + shelvedfile(repo, name, suffix).movetobackup() + cleanupoldbackups(repo) + except OSError as err: + if err.errno != errno.ENOENT: + raise + raise error.Abort(_("shelved change '%s' not found") % name) def listshelves(repo): """return all shelves in repo as list of (time, filename)"""