[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Monotone-devel] error message: invariant violated in diff_patch.cc
From: |
Nathaniel Smith |
Subject: |
Re: [Monotone-devel] error message: invariant violated in diff_patch.cc |
Date: |
Wed, 9 Aug 2006 03:39:04 -0700 |
User-agent: |
Mutt/1.5.12-2006-07-14 |
On Tue, Aug 08, 2006 at 07:44:05AM +0200, pHilipp Zabel wrote:
> # monotone update
> mtn: updating along branch 'org.openembedded.dev'
> mtn: selected update target 8e90244a719ea0f6cc33218bf925484a5a4e1855
> mtn: fatal: std::logic_error: diff_patch.cc:583: invariant
> 'I(temporary_store.find(merged_id) == temporary_store.end())' violated
Right, turned out to be trivial -- someone was a little over-paranoid
and effectively put in a check that two different merges wouldn't
resolve to identical files. I just took the check out on mainline,
and the fix will be in 0.29.
To work around the bug right now, try this:
-- run 'mtn status'. Look at the "to [...hash...]" lines -- at
least one will say a105b0e823823051ddce0d57736343c332b2f1fe or
abc82093489d6e128a2bea7c81b28de6f24017e6. (In fact, there will
probably be two files, that either both say a105b..., or both say
abc8...)
-- make some edit to one of those files, so that they are no longer
identical.
-- try the update again.
-- after the update succeeds, you can undo again whatever bogus
change you made to make the two files non-identical.
-- Nathaniel
--
The Universe may / Be as large as they say
But it wouldn't be missed / If it didn't exist.
-- Piet Hein