monotone-devel
[Top][All Lists]
Advanced

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

Re: [Monotone-devel] Monotone 0.44 bug.


From: Zack Weinberg
Subject: Re: [Monotone-devel] Monotone 0.44 bug.
Date: Thu, 30 Jul 2009 18:09:10 -0700

On Wed, Jul 29, 2009 at 7:38 PM, david crandall<address@hidden> 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 address@hidden --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




reply via email to

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