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

Marcel Taeumel marcel.taeumel at hpi.de
Thu Feb 14 10:49:45 UTC 2019


Hi Chris,

-1

Since this directly affects Squeak's build number, we should not embrace such shenanigans. People could never estimate the count of changes between builds/updates again.

At least, we should try to minimize the jumps between versions as much as possible. Even though we might never be able to enforce that. Make it part of our community's goodwill and spirit to try at least.

Also, Occam's razor: https://en.wikipedia.org/wiki/Occam%27s_razor [https://en.wikipedia.org/wiki/Occam%27s_razor]

Or choose one of many other models/mantras/idioms that strive for simplicity.

Best,
Marcel
Am 14.02.2019 03:53:27 schrieb commits at source.squeak.org <commits at source.squeak.org>:
Chris Muller uploaded a new version of Monticello to project The Inbox:
http://source.squeak.org/inbox/Monticello-cmm.1550112371873461.mcz

==================== 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!


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20190214/f8c8c09b/attachment.html>


More information about the Squeak-dev mailing list