# HG changeset patch # User Matt Mackall # Date 1431701731 18000 # Node ID 68f456f2f425f3699c5318552eb6e04c239e4228 # Parent bee00e0c2e4591b1ea276af3086e0951bf3ebff1 shelve: use try/except/finally diff -r bee00e0c2e45 -r 68f456f2f425 hgext/shelve.py --- a/hgext/shelve.py Fri May 15 09:55:15 2015 -0500 +++ b/hgext/shelve.py Fri May 15 09:55:31 2015 -0500 @@ -284,17 +284,15 @@ """subcommand that deletes a specific shelve""" if not pats: raise util.Abort(_('no shelved changes specified!')) - wlock = None + wlock = repo.wlock() try: - wlock = repo.wlock() - try: - for name in pats: - for suffix in 'hg patch'.split(): - shelvedfile(repo, name, suffix).unlink() - except OSError, err: - if err.errno != errno.ENOENT: - raise - raise util.Abort(_("shelved change '%s' not found") % name) + for name in pats: + for suffix in 'hg patch'.split(): + shelvedfile(repo, name, suffix).unlink() + except OSError, err: + if err.errno != errno.ENOENT: + raise + raise util.Abort(_("shelved change '%s' not found") % name) finally: lockmod.release(wlock)