del transaction before lock before wlock
This way rollbacks happen while the repo is still locked.
Deleting lock before wlock is not strictly necessary, but is
more consistent with the locking order.
--- a/hgext/mq.py Thu Aug 02 01:56:08 2007 -0300
+++ b/hgext/mq.py Thu Aug 02 01:56:08 2007 -0300
@@ -455,7 +455,7 @@
repo.dirstate.invalidate()
raise
finally:
- del lock, wlock, tr
+ del tr, lock, wlock
def _apply(self, repo, series, list=False, update_status=True,
strict=False, patchdir=None, merge=None, all_files={}):
--- a/mercurial/commands.py Thu Aug 02 01:56:08 2007 -0300
+++ b/mercurial/commands.py Thu Aug 02 01:56:08 2007 -0300
@@ -1623,7 +1623,7 @@
finally:
os.unlink(tmpname)
finally:
- del wlock, lock
+ del lock, wlock
def incoming(ui, repo, source="default", **opts):
"""show new changesets found in source
--- a/mercurial/localrepo.py Thu Aug 02 01:56:08 2007 -0300
+++ b/mercurial/localrepo.py Thu Aug 02 01:56:08 2007 -0300
@@ -544,7 +544,7 @@
else:
self.ui.warn(_("no rollback information available\n"))
finally:
- del wlock, lock
+ del lock, wlock
def invalidate(self):
for a in "changelog manifest".split():
@@ -820,7 +820,7 @@
self.hook("commit", node=hex(n), parent1=xp1, parent2=xp2)
return n
finally:
- del lock, wlock, tr
+ del tr, lock, wlock
def walk(self, node=None, files=[], match=util.always, badmatch=None):
'''