On 08.11.2018, at 03:25, commits@source.squeak.org wrote:
A new version of Installer-Core was added to project The Inbox: http://source.squeak.org/inbox/Installer-Core-dtl.425.mcz
==================== Summary ====================
Name: Installer-Core-dtl.425 Author: dtl Time: 7 November 2018, 9:24:32.82223 pm UUID: 6a5d8822-147f-460a-9aac-b17f02399538 Ancestors: Installer-Core-cmm.424
In the case of a repository containing both 'Chronology-Core-dtl.3' and 'Chronology-Core-dtl.30', the following will incorrectly load version 30 rather than version 3.
(Installer ss project: 'UTCDateAndTime') install: 'Chronology-Core-dtl.3'
A workaround is to reverse the order of sorting in InstallerMonticello>>mcSortFileBlock, such that 'Chronology-Core-dtl.3' will be detected before 'Chronology-Core-dtl.30' in InstallerMonticello>>mcThing.
A possibly better fix is to change InstallerMonticello>>mcDetectFileBlock: to do string equality checks rather than #beginsWith: comparisons. This appears to be correct, but might have side effects, since I do not know the original rationale for using #beginsWith:.
Isn't the rationale that you cat do
Installer squeaksource project: 'UTCDateAndTime'; install: 'Chronology-Core'.
and get just the latest one ?
Best regards -Tobias
This change implements the possibly better fix.
=============== Diff against Installer-Core-cmm.424 ===============
Item was changed: ----- Method: InstallerMonticello>>mcDetectFileBlock: (in category 'monticello') ----- mcDetectFileBlock: pkg
pkg isString ifTrue: [ ^ [ :aMCVersionName |
(pkg beginsWith: aMCVersionName packageAndBranchName) and: [aMCVersionName = pkg ] ] ].
(pkg beginsWith: aMCVersionName packageAndBranchName) and: [aMCVersionName beginsWith: pkg ] ] ].
(pkg isKindOf: Array) ifTrue: [ ^ [ :aMCVersionName | pkg anySatisfy: [ :item |
(item beginsWith: aMCVersionName packageAndBranchName) and: [aMCVersionName = item ] ] ] ].
(item beginsWith: aMCVersionName packageAndBranchName) and: [aMCVersionName beginsWith: item ] ] ] ].
pkg isBlock ifTrue: [ ^ pkg ]. !