[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Monotone-devel] monotone: fatal: std::logic_error: ../change_set.cc
From: |
Peter Portante |
Subject: |
Re: [Monotone-devel] monotone: fatal: std::logic_error: ../change_set.cc:380: invariant 'I(isect.empty())' violated |
Date: |
Tue, 25 Oct 2005 18:13:53 -0400 |
User-agent: |
Microsoft-Entourage/11.2.1.051004 |
So can I just use another name for the directory besides BUG? Or do I have
to undo what I have done first? And if so, how do I undo it?
-peter
On 10/25/05 4:56 PM, "Nathaniel Smith" <address@hidden> wrote:
> On Tue, Oct 25, 2005 at 10:15:12AM -0400, Peter Portante wrote:
>> Nathaniel,
>>
>> This is what I have. Sorry if this is not helpful. I can try to reproduce
>> this again if it isn't.
>
> Ah-hah, I see what the problem is. You had a file named BUG; then in
> one commit you renamed it to BUG.file; then in the next commit you
> renamed BUG.file to BUG/BUG.orig, i.e., you created a directory named
> BUG.
>
> IIUC, monotone is getting confused by having both a file and a
> directory named "BUG" nearby each other in the ancestry graph; due to
> some, err, bugs, in the logic monotone uses to infer the existence of
> directories.
>
> It's possible we could add some hack to work around this, but really
> the problem is that our current approach to handling change sets is
> fundamentally broken in certain edge cases like these, and we just
> can't get this particular thing right -- the best we could hope for is
> to move the rug around a little, fixing this bug by uncovering another
> one. This is a possibility, if this is really a show-stopper for
> you...
>
> But, the real solution is to change how we handle such things. This
> isn't a trivial change, but we've known about this family of problems
> for some time now, and we're actively working on a fix in the
> "rosters" branch.
>
> So... your options are:
> -- work around the problem by not reusing the same name for a dir
> and a file
> -- possibly you only need to make sure not to do this in quick
> succession; monotone will probably let you get away with it if
> the revisions are far enough apart in history...
> -- "move the rug around" -- fix monotone to work better in your
> case, as a temporary patch.
> -- wait until the real fix is finished (no promises on when this
> will be, but it's under active development and progress so far
> has been encouraging).
> Or some combination of the above. Sorry about this... :-(
>
> (Also, well done -- I recall if anyone actually managed to find the
> directory existence bugs in real usage before ;-).)
>
> -- Nathaniel