monotone-devel
[Top][All Lists]
Advanced

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

[Monotone-devel] Re: prohibited path component '.'


From: graydon hoare
Subject: [Monotone-devel] Re: prohibited path component '.'
Date: Mon, 29 Mar 2004 15:09:24 -0500
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.6b) Gecko/20031205 Thunderbird/0.4

Robert Bihlmeyer wrote:
After listing unknowns "montone ls unknown" always does this for me:

monotone: vocab.cc:151: usage constraint 'N(!(*i == "." || *i == ".."))' 
violated
monotone: misuse: prohibited path component '.' in './mtg.sql'

Hmm, the cause seems to be that walk_tree_recursive() doesn't ignore
"." (nor "..")!

that's curious. I can't reproduce this. I am guessing that perhaps you have previously specified --db=./mtg.sql on the command line, that this option has been written to MT/options for reuse, and that monotone is complaining about "./" in the pathname, not in the directory walker.

that's probably a valid UI nit, though; when the (paranoid) local path object gets constructed with "./" in it, it throws. afaik this is fixed when building against boost 1.31.0, where I call the new "normalize()" function on the path before checking it. I'll file a bug to try to fix that on 1.30.2 as well. in the meantime, try with --db=mtg.sql. if that doesn't fix it, perhaps you can send me a --verbose log showing the problem?

in any case, the reason walk_tree_recustive() doesn't ignore "." or ".." is that they are not returned from a boost directory iterator. see:

http://www.boost.org/libs/filesystem/doc/operations.htm#directory_iterator

for the specification.

-graydon




reply via email to

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