On Wed, Jul 29, 2009 at 7:38 PM, david crandall<[email protected]> wrote: > First, before you look too far into this, there's something I should > mention that will probably set your mind at ease. I basically took a > monotone database from version 0.40 on linux, and copied it over for use in > windows on 0.44. I figure if it said, "update your stuff", it would ask.
There's no database migration needed going from 0.40 to 0.44. And if you did need one, yes, it is supposed to tell you, rather than crashing like this. > Y:\>mtn --db y:/mtn_db/.dave.mtn --key [email protected] --keydir > y:/keystor co --branch com.fortunet.altanik -r 6ba39f0 --debug ... > mtn.EXE: ----- begin 'inT' (in std::string normalize_path(const > std::string&), at paths.cc:262) > mtn.EXE: /com.fortunet.altanik > mtn.EXE: ----- end 'inT' (in std::string normalize_path(const > std::string&), at paths.cc:262) > mtn.EXE: paths.cc:307: detected internal error, 'I(!is_absolute_here(inT))' > violated Ok, this looks like a real bug: you are trying to do a checkout in the root directory of a Windows drive, which should be fine, but may never have been attempted before. And you didn't specify a directory to check out into, so it's trying to form the directory name from the branch name, and losing the drive letter, which makes the path normalization logic unhappy. I do not have a working Windows development environment right now, so I can't fix this bug. I don't know whether anyone else reading monotone-devel has the time and the setup to do it. [To anyone who tries: I think the problem is either in the system_path() constructor, or in workspace::create_workspace().] However, you should be able to work around the problem by doing your checkouts somewhere other than the root of a drive. You may also be able to work around the problem by specifying a directory for the checkout on the command line. zw _______________________________________________ Monotone-devel mailing list [email protected] http://lists.nongnu.org/mailman/listinfo/monotone-devel
