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

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

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

keith1y
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





Reply | Threaded
Open this post in threaded view
|

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

keith1y
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


Reply | Threaded
Open this post in threaded view
|

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

Bert Freudenberg

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 -



Reply | Threaded
Open this post in threaded view
|

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

Benoit St-Jean
In reply to this post by keith1y
My wishlist...
 
To somehow paraphrase Stéphane Ducasse:
 
"I want to load any package, from any repository into any Squeak image".
 
 
*** BUT ***
 
1) I need to be warned when prerequisites are missing, I want to be warned of undeclared/missing classes/pools/methods/etc ;
2) I want a good integrated diff tool
3) I want a good merge tool
4) I want an integrated CVS
5) I want a one-click load
6) I want a one-click "publish"
7) I want a user-friendly searchable web interface to the public repository with good browsing capabilities to locate code/packages by category, class name, author, publish date, package name, etc.
8) I want one "tool suite" to do all that, not parts of it with Universes, other stuff with Squeakmap, the rest with Monticello, some with standard fileIn/FileOut, 10 formats of import/export...
 
In other words, I want simplicity of use to handle complexity of code.
 
-----------------
Benoit St-Jean
Yahoo! Messenger: bstjean
Blog: lamneth.wordpress.com
A standpoint is an intellectual horizon of radius zero.
(Albert Einstein)