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

Eliot Miranda eliot.miranda at gmail.com
Thu Feb 14 03:50:48 UTC 2019



> On Feb 13, 2019, at 7:13 PM, Chris Muller <asqueaker at gmail.com> 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?

It is trumped by the illegibility.  When was the discussion around this change?  I’ve been out if things (apologies) but I find this change quite horrible.

> 
> Best,
>  Chris
> 
>> On Wed, Feb 13, 2019 at 8:56 PM Eliot Miranda <eliot.miranda at gmail.com> wrote:
>> 
>> 
>> 
>>> On Wed, Feb 13, 2019 at 6:53 PM <commits at source.squeak.org> wrote:
>>> 
>>> Chris Muller uploaded a new version of Monticello to project The Inbox:
>>> http://source.squeak.org/inbox/Monticello-cmm.1550112371873461.mcz
>> 
>> 
>> Whaaaa?!?  :-)  Shurely shome mishtske.  hic.
>> 
>>> 
>>> 
>>> 
>>> ==================== Summary ====================
>>> 
>>> Name: Monticello-cmm.1550112371873461
>>> Author: cmm
>>> Time: 13 February 2019, 8:53:17.238995 pm
>>> UUID: 4e5412b2-6fac-4192-846e-40e4c24eb282
>>> Ancestors: Monticello-nice.694
>>> 
>>> Monticello only requires monotonicity and uniqueness for its version numbers, not consecutiveness.
>>> 
>>> =============== Diff against Monticello-nice.694 ===============
>>> 
>>> Item was added:
>>> + ----- Method: MCAncestry>>hasAncestorNamed: (in category 'ancestry') -----
>>> + hasAncestorNamed: aString
>>> +       self allAncestorsDo:
>>> +               [ : each | aString asMCVersionName = each name ifTrue: [ ^ true ] ].
>>> +       ^ false!
>>> 
>>> Item was changed:
>>>  MCPackageManager subclass: #MCWorkingCopy
>>> +       instanceVariableNames: 'versionInfo ancestry repositoryGroup requiredPackages environment'
>>> -       instanceVariableNames: 'versionInfo ancestry counter repositoryGroup requiredPackages environment'
>>>        classVariableNames: ''
>>>        poolDictionaries: ''
>>>        category: 'Monticello-Versioning'!
>>> 
>>> Item was changed:
>>>  ----- Method: MCWorkingCopy>>nextVersionName (in category 'private') -----
>>>  nextVersionName
>>>        | branch oldName |
>>>        ancestry ancestors isEmpty
>>>                ifTrue:
>>> +                       [ branch := package name ]
>>> -                       [ counter ifNil: [ counter := 0 ].
>>> -                       branch := package name ]
>>>                ifFalse:
>>>                        [ oldName := ancestry ancestors first versionName.
>>> +                       branch := oldName packageAndBranchName ].
>>> +       ^ branch , '-' , Utilities authorInitials , '.' , DateAndTime now utcMicroseconds asString!
>>> -                       branch := oldName packageAndBranchName.
>>> -                       counter ifNil:
>>> -                               [ counter := (ancestry ancestors detectMax:
>>> -                                       [ : eachVersionInfo | eachVersionInfo versionNumber ])
>>> -                                       ifNil: [ 0 ]
>>> -                                       ifNotNil:
>>> -                                               [ : highestNumbered | highestNumbered versionNumber ] ] ].
>>> -       counter := counter + 1.
>>> -       ^ branch , '-' , Utilities authorInitials , '.' , counter asString!
>>> 
>>> Item was changed:
>>>  ----- Method: MCWorkingCopy>>uniqueVersionName (in category 'private') -----
>>>  uniqueVersionName
>>>        |versionName|
>>> -       counter := nil.
>>>        [versionName := self nextVersionName.
>>> +       (self repositoryGroup includesVersionNamed: versionName) or: [ ancestry hasAncestorNamed: versionName ]] whileTrue.
>>> -       self repositoryGroup includesVersionNamed: versionName] whileTrue.
>>>        ^ versionName!
>>> 
>>> 
>> 
>> 
>> --
>> _,,,^..^,,,_
>> best, Eliot
>> 
> 


More information about the Squeak-dev mailing list