[squeak-dev] Monticello Version Numbers (minor update)

Keith Hodges keith_hodges at yahoo.co.uk
Sat Jun 28 08:38:31 UTC 2008


Many moons ago, it was requested that Monticello allow GUIDs as version
numbers... this support was added together with support for conventional
1.0.12b style version numbering in MC1.5 (in theory).

However the theory turned out to be not good enough for some folks (they
know who they are)

Matthew and I spent a couple of hours reworking the version number
support in MC1.5 and this has resulted in cleaner, better code... so we
are all happy now. (in theory)

The net result is that the following is now supported...

In addition to the standard....

PackageName-kph.1.mcz

we can now have

PackageName-kph.1.2.13beta.mcz

or

PackageName-kph.1.2beta.14.mcz

and also....

PackageName-my.very.silly.author.initials.which.stupidly.include.the.delimiter.1.0.3.4beta.mcz

But what of GUID support.... well this turned out to be fairly
impractical, due to the fact that GUIDs contain a lot of redundant
information and dont sort nicely. i.e. you get you packages appearing in
a random order in the repo.
So instead I defined a timestamp based UID which should do the job.

The UID is assembled as - date.time.count

So if you happen to save a version named like so... MC will see the
timestamp and will save subsequent versions with a new timestamp and
updated count.

The basic UID package name is like so...

PackageName-kph.20080628.054558001.2.mcz

However this can be combined with a proper version number (of any length)

PackageName-kph.10.5.3beta.20080628.054558001.2.mcz

Ok so its not going to be perfect, but I think it should be good enough,
since there is a proper GUID in the version info anyway if there ever
was a UID clash.

best regards

Keith







More information about the Squeak-dev mailing list