[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
|