[squeak-dev] The Inbox: Monticello-cmm.66240.mcz

Levente Uzonyi leves at caesar.elte.hu
Sun Feb 17 19:09:50 UTC 2019


On Sat, 16 Feb 2019, Chris Muller wrote:

> Hi Levente,
>
>> > This version is intended to alleviate our concerns about readability
>> > by making the number no longer than someone's local phone number.
>>
>> I still don't like this idea. Why?
>> - while single version numbers are not too large, the system version
>> number would still be 7 digits long
>
> You mean, instead of 5?

Yes, 5 is about the length of the longest sequence of digits one will 
recognize and remember in one shot (it's still easy to miss though). 
7 would be too long and too error prone: Is it 1342578 or 1345278? Hard to 
tell without looking at those numbers thoroughly, isn't it?

>
>> - the version number would lose information about the number of commits of
>> the given package. You may argue that it's not exact, but it still gives a
>> good estimate.
>
> This is an easy number to calculate when the file is open and include
> in header descrption of a VersionInfo...  For example:

Yes. The problem is that the number would not exists outside the image.
When you only have a file on your disk, that information is not available.

>
> Name: Monticello-cmm.66240
> Author: cmm
> Time: 16 February 2019, 4:49:51.685281 pm
> UUID: 435c7c35-3b22-4f66-b733-070ccd48a980
> Ancestors (684): Monticello-eem.684
>
>> - the change is focused too much on the Trunk, while Monticello is used in
>> other places too
>
> I don't understand this.  This is about Monticello's model, it has
> nothing to do with trunk.

The problem you're trying to solve (if I understand that correctly) has 
only ever happened in the Trunk, and even there it only happened twice so 
far. Anything smaller scale than the Trunk, it is very unlikely to face 
this problem.

>
>> - it solves a problem that happens way too infrequently (different
>> packages with the same name)
>
> It's actually not.  Working in Squeak on two separate laptops (i.e.,
> home vs. work) is very common, but incredibly onerous because it
> *frequently* results in duplicate package names.

Right, but you'll notice it as soon as you try to commit it into your 
repository. Outside the Trunk, it is very unlikely to have packages merged 
into your repository before being commited there.

>
> This is more than "solving a problem",  it enables a new power of
> simultaneous streams of development on the same packages in different
> images -- with no danger of duplicates.
>
> Moreover, it's an elegant way for Monticello to realize its goal of
> providing a distributed code model.

Yes, but if I were to solve this problem, I would just extend the naming 
scheme:
Instead of Monticello-cmm.684.mcz, it may as well be 
Monticello-cmm.684.435c7c.mcz, which would preserve the version number but 
extend the name with the first few digits of the UUID (which is actually 
not so good, because of how UUID works, and using e.g. the SHA256 has of the 
source file would be superior, but that would require further MC changes).

>
>> - you can't commit the same package twice within a minute, which is a
>> something you do when you want to split multiple changes up into different
>> commits
>
> Of course you can.  This is just the default generated name, the user
> or system can increment the number as needed.

So, this is something the suggested change doesn't support yet, isn't it?

Levente

>
> - Chris


More information about the Squeak-dev mailing list