# HG changeset patch # User Henrik Stuart # Date 1240164152 -7200 # Node ID 560af1bbfd6e0f5c435b738e31bbf48964c17ed5 # Parent fe8a3e56039ff8922a8455eea3390e47b9501276 transaction: reset transaction on abort Prevent the use of the transaction after it has been aborted. Co-contributor: Sune Foldager diff -r fe8a3e56039f -r 560af1bbfd6e mercurial/transaction.py --- a/mercurial/transaction.py Fri Apr 24 09:56:53 2009 +0200 +++ b/mercurial/transaction.py Sun Apr 19 20:02:32 2009 +0200 @@ -94,6 +94,9 @@ self._abort() def _abort(self): + self.count = 0 + self.file.close() + if not self.entries: return self.report(_("transaction abort!\n")) @@ -109,13 +112,14 @@ self.entries = [] if not failed: - self.file.close() os.unlink(self.journal) - self.journal = None self.report(_("rollback completed\n")) else: self.report(_("rollback failed - please run hg recover\n")) + self.journal = None + + def rollback(opener, file): files = {} for l in open(file).readlines():