On 06/01/2008, at 3:27 AM, Junqian Gordon Xu wrote:
mtn mkdir foo1
mtn mv foo2/fu foo1
mtn mv foo1 foo3
mtn revert foo3
mtn: fatal: std::logic_error: roster.cc:195: invariant 'inserting
duplicate entry into children' violated
mtn version --full
I tried to replicate this and was unable. It seems you're using a
fairly populated working copy. Can you replicate with a simpler test case?
% mtn db init --db=test.mtn
% mtn setup --db=test.mtn wc -b testbranch
% cd wc
% mtn mkdir foo3
mtn: adding foo3 to workspace manifest
% mtn mkdir foo2
mtn: adding foo2 to workspace manifest
% touch foo2/fu
% mtn add foo2/fu
mtn: adding foo2/fu to workspace manifest
% mtn commit -m "first commit"
mtn: beginning commit on branch 'testbranch'
mtn: committed revision 752a80326476f2e5f9991ec830260c61cba2abfb
% mtn mkdir foo1
mtn: adding foo1 to workspace manifest
% mtn mv foo2/fu foo1
mtn: skipping foo1, already accounted for in workspace
mtn: renaming foo2/fu to foo1/fu in workspace manifest
% mtn mv foo1 foo3
mtn: skipping foo3, already accounted for in workspace
mtn: renaming foo1 to foo3/foo1 in workspace manifest
% ls
_MTN foo2 foo3
% mtn revert foo3
% ls
_MTN foo2 foo3
% mtn --version
monotone 0.37 (base revision: fb5bb4903ab69c14efbff9b140c72d18b5fb2c7b)