# HG changeset patch # User Matt Mackall # Date 1200504745 21600 # Node ID e7127f669edb771e90fd6ef6bf43dd2a91698eca # Parent 88783c8b56601e6e40e21bd9b8eb49e5a0e49d67 transactions: don't show a backtrace when journal exists Now we simply print a message on how to recover. diff -r 88783c8b5660 -r e7127f669edb mercurial/localrepo.py --- a/mercurial/localrepo.py Wed Jan 16 11:14:51 2008 -0600 +++ b/mercurial/localrepo.py Wed Jan 16 11:32:25 2008 -0600 @@ -519,6 +519,10 @@ if self._transref and self._transref(): return self._transref().nest() + # abort here if the journal already exists + if os.path.exists(self.sjoin("journal")): + raise repo.RepoError(_("journal already exists - run hg recover")) + # save dirstate for rollback try: ds = self.opener("dirstate").read() diff -r 88783c8b5660 -r e7127f669edb mercurial/transaction.py --- a/mercurial/transaction.py Wed Jan 16 11:14:51 2008 -0600 +++ b/mercurial/transaction.py Wed Jan 16 11:32:25 2008 -0600 @@ -18,10 +18,6 @@ def __init__(self, report, opener, journal, after=None): self.journal = None - # abort here if the journal already exists - if os.path.exists(journal): - raise AssertionError(_("journal already exists - run hg recover")) - self.count = 1 self.report = report self.opener = opener diff -r 88783c8b5660 -r e7127f669edb tests/test-journal-exists --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-journal-exists Wed Jan 16 11:32:25 2008 -0600 @@ -0,0 +1,12 @@ +#!/bin/bash + +hg init +echo a > a +hg ci -Am0 + +touch .hg/store/journal + +echo foo > a +hg ci -Am0 + +hg recover diff -r 88783c8b5660 -r e7127f669edb tests/test-journal-exists.out --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-journal-exists.out Wed Jan 16 11:32:25 2008 -0600 @@ -0,0 +1,8 @@ +adding a +abort: journal already exists - run hg recover! +rolling back interrupted transaction +checking changesets +checking manifests +crosschecking files in changesets and manifests +checking files +1 files, 1 changesets, 1 total revisions