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
Some people are under the impression that filename formats in monticello are not very well defined. This is definitely not the case.
There is, and has been for a while, a spec for the filename formats together with a test suite for their parsing.
So if you want to be backwards, or forwards compatible, it is not advisable to just start using any old scheme for your mcz filenames.
For example you cannot use $- in your authors initials or version numbers, you can however use a space if you want to use full names for some reason.
just to let folks know, since I am trying to bring some coherence to the melting pot that many seem intent on stirring wildly
best regards
Keith
Am 28.06.2008 um 14:02 schrieb Keith Hodges:
Some people are under the impression that filename formats in monticello are not very well defined. This is definitely not the case.
There is, and has been for a while, a spec for the filename formats together with a test suite for their parsing.
So if you want to be backwards, or forwards compatible, it is not advisable to just start using any old scheme for your mcz filenames.
For example you cannot use $- in your authors initials or version numbers, you can however use a space if you want to use full names for some reason.
These are conventions that should be followed unless you understand the implications, no doubt about that. However, Monticello was explicitly designed to not place meaning on file names, or to enforce a particular development style (like having a trunk with branches etc). It's "only" that various UI tools will get confused if you break the conventions these tools assume (and I admit being guilty of making tools that assume that too, like the highlighting of ancestors of versions that are already loaded).
- Bert -
squeak-dev@lists.squeakfoundation.org