The default metadata.xml that ZopeSkel has in various templates looks 
like this:

<?xml version="1.0"?>

If nobody objects, I intend to change the version from 1 to 1000. The 
reason is that GenericSetup can get confused when comparing version 
numbers for possible upgrade steps. It compares them alphabetically, so 
for example it does not realize that 10 is higher than 9. I ran into 
problems with this a while ago; I do not remember what exactly goes 
wrong, but I think GS thinks like this: "The currently installed profile 
is 9, we have an upgrade step from 9 to 10; who cares: 9 is higher than 
10 so I am not going to run that step or even list it unless the user 
asks me for all steps." Or it may think: "Hey, we are currently at 
profile version 13, let's show the upgrade steps from 1 to 2, 2 to 3, 
etc." Not very helpful. :-)

Having 1000 as number solves that problem and it is what I have been 
doing in packages I make. If the package I work on gets backwards 
incompatible changes that warrant creating a maintenance branch, I would 
create branches/1.0, keep the metadata.xml number the same (so 1000 if 
there have been no profile changes yet). On trunk I would update the 
version.txt/setup.py number from 1.0 to 1.1 or 2.0 and increase the 
metadata.xml version from 1000 to 1100 or 2000 (and create an upgrade 
step for that, possibly a dummy one if nothing needs to happen).  This 
creates a gap in the profile version numbers so there is room in the 1.0 
branch to add some more upgrade steps if needed.

Also, quite quickly after the previous 2.16 release on March 23, some 
changes were made, most notably a bug fix for the problem with the 
missing locales directory. After that, nothing has happened for over two 
months, so I'd say we can cut a new release.

Maurits van Rees
Programmer, Zest Software

ZopeSkel mailing list

Reply via email to