monotone-devel
[Top][All Lists]
Advanced

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

[Monotone-devel] Manifest tables no longer dropped; read this if you tra


From: Zack Weinberg
Subject: [Monotone-devel] Manifest tables no longer dropped; read this if you track HEAD
Date: Wed, 21 Feb 2007 08:58:35 -0800

Back in January I wrote code to drop the obsolete "manifests" tables
from the database (instead of keeping them around empty) after
changesetification.  This has proved to cause a bunch of problems and
so I have now backed that out.

I did the back-out DaggyFixes style.  The revision that caused the
problem was 2243173005802c676dee57f87bb67d83b84256c0.  Revision
d268327a82eed2aae414fba1a5eecad4cb7de954 is a direct child of that
revision and contains the (partial) revert.  It has been merged to the
tip of net.venge.monotone.  If you are maintaining a branch, have the
224317... changes in that branch, and do not want to bring in top of
trunk at this time, I strongly recommend you bring in d2683...

This back-out changes the database schema in an unusual way.
Migration from 0.32 to 0.33 (when 0.33 eventually comes out) will Just
Work.  However, anyone tracking HEAD, or anyone else with a database
created or migrated by a version of monotone that contains the problem
224317... code, will need to run a special procedure once they update
to a version with the d26863... code.

Don't do anything until monotone gives you an error message looking like this:

mtn: misuse: monotone.033pre.mtn appears to be a monotone database,
but this version of
mtn: misuse: monotone does not recognize its schema.
mtn: misuse: you probably need a newer version of monotone.

Then do this, to confirm that you have the problem:

mtn -d monotone.033pre.mtn db version

If it prints exactly this string:

database schema version: 2881277287f6ee9bfc5ee255a503a6dc20dd5994 (too
new, cannot use)

then you have the problem, and you should do this:

<srcdir>/contrib/recreate-manifest-tables.sh  monotone.033pre.mtn

(CMD.EXE users will need to look at what the script does and do it by
hand.)  You can give the script more than one database on the command
line, and it'll only do anything to databases that give the above "db
version" result, but it is still best to check by hand first.

If recreate-manifest-tables.sh gives you the same error message about
not recognizing the schema, try setting the environment variable MTN
to the full path to your new monotone executable (the one that
objected to the database in the first place).  If you still can't make
it work, please let me know.

zw




reply via email to

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