monotone-devel
[Top][All Lists]
Advanced

[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






reply via email to

[Prev in Thread] Current Thread [Next in Thread]