Mercurial > public > mercurial-scm > hg
diff hgext/mq.py @ 8112:6ee71f78497c
switch lock releasing in the extensions from gc to explicit
author | Ronny Pfannschmidt <Ronny.Pfannschmidt@gmx.de> |
---|---|
date | Wed, 22 Apr 2009 02:01:22 +0200 |
parents | 5ec526c1a32f |
children | 127281884959 |
line wrap: on
line diff
--- a/hgext/mq.py Wed Apr 22 02:01:22 2009 +0200 +++ b/hgext/mq.py Wed Apr 22 02:01:22 2009 +0200 @@ -31,6 +31,7 @@ from mercurial.i18n import _ from mercurial.node import bin, hex, short, nullid, nullrev +from mercurial.lock import release from mercurial import commands, cmdutil, hg, patch, util from mercurial import repair, extensions, url, error import os, sys, re, errno @@ -518,7 +519,8 @@ repo.dirstate.invalidate() raise finally: - del tr, lock, wlock + del tr + release(lock, wlock) self.removeundo(repo) def _apply(self, repo, series, list=False, update_status=True, @@ -766,6 +768,7 @@ for chunk in chunks: p.write(chunk) p.close() + wlock.release() wlock = None r = self.qrepo() if r: r.add([patchfn]) @@ -781,7 +784,7 @@ raise self.removeundo(repo) finally: - del wlock + release(wlock) def strip(self, repo, rev, update=True, backup="all", force=None): wlock = lock = None @@ -801,7 +804,7 @@ # the actual strip self.removeundo(repo) finally: - del lock, wlock + release(lock, wlock) def isapplied(self, patch): """returns (index, rev, patch)""" @@ -968,7 +971,7 @@ self.ui.write(_("now at: %s\n") % top) return ret[0] finally: - del wlock + wlock.release() def pop(self, repo, patch=None, force=False, update=True, all=False): def getfile(f, rev, flags): @@ -1070,7 +1073,7 @@ else: self.ui.write(_("patch queue now empty\n")) finally: - del wlock + wlock.release() def diff(self, repo, pats, opts): top = self.check_toppatch(repo) @@ -1295,7 +1298,7 @@ self.pop(repo, force=True) self.push(repo, force=True) finally: - del wlock + wlock.release() self.removeundo(repo) def init(self, repo, create=False): @@ -2179,7 +2182,7 @@ r.copy(patch, name) r.remove([patch], False) finally: - del wlock + wlock.release() q.save_dirty()