monotone-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Monotone-devel] Error running `mtn list ignored` in monotone 0.32 o


From: Christian Ohler
Subject: Re: [Monotone-devel] Error running `mtn list ignored` in monotone 0.32 on windows XP
Date: Fri, 02 Feb 2007 21:53:44 +0100

Thomas Keller, 2007-02-02:

Daniel Atallah schrieb:
$ mtn list ignored
mtn: fatal: std::logic_error: paths.cc:308: invariant
'I(is_valid_internal(data()))' violated

Has this already been fixed for 0.33?

It's still there. I looked into it briefly about a week ago; fixing it turned out to require more familiarity with the code than I have. Here's what I recall.

It's the same issue as the xfail test in ls_unknown_in_subdir.

It can be worked around by calling ls unknown/ls missing from the workspace root with a restriction argument instead of calling it from a subdirectory.

The bug was introduced by the addition of a call to normalize_external_path in bookkeeping_path::is_bookkeeping_path in 460c36c1128986f68bcf5e9402d2b5abbff19fd5. However, removing that call breaks other tests.

When walk_tree_recursive calls bookkeeping_path::is_bookkeeping_path to avoid descending into _MTN, the normalization in bookkeeping_path::is_bookkeeping_path prepends the current working directory to the path; the resulting (bogus) path no longer starts with _MTN and is therefore not detected as a bookkeeping path.

After failing to detect that it's in fact looking at _MTN, the code ultimately aborts with the above assertion.

I hope this helps.

Christian Ohler.




reply via email to

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