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

David T. Lewis lewis at mail.msen.com
Sat Feb 16 22:04:34 UTC 2019


On Wed, Feb 13, 2019 at 09:13:17PM -0600, Chris Muller wrote:
> What are the two most-important properties we want from our
> versionNumber?  Monotonicity and uniqueness.  The current scheme only
> provides the former, this uses DateAndTime now utcMicroseconds to
> provide the latter, too.  As a bonus it also happens to encode the
> save timestamp into the VersionName, so available without having to
> open the file.
> 
> I admit it looks intimidating given what we're used to seeing, but
> what of the added safety and utility?
> 

Hi Chris,

I like the idea of having valid version histories, but I'm not sure
that working with the version number is the best approach. Here's my
take on it overall:

I am reminded of Craig's "Name and Identity are Distinct" approach in
Naiad (http://wiki.squeak.org/squeak/5618).

An instance of MCVersionInfo has both a name and an identity. There is
an instance variable for each (#name and #id in class MCVersionInfo),
and they serve different purposes. The name is for human consumption,
and the identity is a UUID for identity. It is probably not a good
idea to conflate the two.

Our file based repositories cheat by assuming that the naming convention
will align with the actual history. This is simple and it works most of
the the time, but not always.

If we want to make this better, then we should invent some new way of
indexing the repositories such that the claimed history matches the
actual (UUID identity based) ancestry.

I do not know how to do this, and I don't know if it is really even
worth the trouble. But I am sure that it can be done, and I expect
that any such solution should be based on #id and not on #name.

Dave



More information about the Squeak-dev mailing list