diff -r 807633f1e3c2 -r c40a1ee20aa5 mercurial/transaction.py --- a/mercurial/transaction.py Mon Nov 02 10:18:43 2009 +0100 +++ b/mercurial/transaction.py Mon Nov 02 10:19:14 2009 +0100 @@ -59,8 +59,7 @@ def __del__(self): if self.journal: - if self.entries: self._abort() - self.file.close() + self._abort() @active def startgroup(self): @@ -126,7 +125,7 @@ self.entries = [] if self.after: self.after() - else: + if os.path.isfile(self.journal): os.unlink(self.journal) self.journal = None @@ -141,7 +140,10 @@ self.count = 0 self.file.close() - if not self.entries: return + if not self.entries: + if self.journal: + os.unlink(self.journal) + return self.report(_("transaction abort!\n"))