Mercurial > evolve
changeset 683:6d24bd455f79 stable
simplify locking in prune
author | Pierre-Yves David <pierre-yves.david@ens-lyon.org> |
---|---|
date | Mon, 04 Feb 2013 17:55:03 +0100 |
parents | 6cbb52a8401b |
children | 19a1a8f93c07 |
files | hgext/evolve.py |
diffstat | 1 files changed, 22 insertions(+), 24 deletions(-) [+] |
line wrap: on
line diff
--- a/hgext/evolve.py Mon Feb 04 17:51:27 2013 +0100 +++ b/hgext/evolve.py Mon Feb 04 17:55:03 2013 +0100 @@ -1255,35 +1255,33 @@ revs = list(revs) revs.extend(opts['rev']) succs = opts['new'] + opts['succ'] + wlock = lock = None wlock = repo.wlock() try: lock = repo.lock() - try: - new = set(scmutil.revrange(repo, succs)) - targetnodes = set(scmutil.revrange(repo, revs)) - if not targetnodes: - raise util.Abort('nothing to prune') - if new: - sucs = tuple(repo[n] for n in new) - else: - sucs = () - markers = [] - for n in targetnodes: - markers.append((repo[n], sucs)) - createmarkers(repo, markers) + new = set(scmutil.revrange(repo, succs)) + targetnodes = set(scmutil.revrange(repo, revs)) + if not targetnodes: + raise util.Abort('nothing to prune') + if new: + sucs = tuple(repo[n] for n in new) + else: + sucs = () + markers = [] + for n in targetnodes: + markers.append((repo[n], sucs)) + createmarkers(repo, markers) - # update to an unkilled parent - wdp = repo['.'] - newnode = wdp - while newnode.obsolete(): - newnode = newnode.parents()[0] - if newnode.node() != wdp.node(): - commands.update(ui, repo, newnode.rev()) - ui.status(_('working directory now at %s\n') % newnode) - finally: - lock.release() + # update to an unkilled parent + wdp = repo['.'] + newnode = wdp + while newnode.obsolete(): + newnode = newnode.parents()[0] + if newnode.node() != wdp.node(): + commands.update(ui, repo, newnode.rev()) + ui.status(_('working directory now at %s\n') % newnode) finally: - wlock.release() + lockmod.release(lock, wlock) @command('amend|refresh', [('A', 'addremove', None,