[squeak-dev] The Inbox: Installer-Core-dtl.425.mcz
David T. Lewis
lewis at mail.msen.com
Thu Nov 8 12:27:22 UTC 2018
On Thu, Nov 08, 2018 at 08:55:06AM +0100, Tobias Pape wrote:
>
> > On 08.11.2018, at 03:25, commits at 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 ?
>
Ah yes of course. So this proposed fix is wrong.
We still do need a way for an explicit version to be loaded reliably. hmmm...
Dave
> 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 ].
> > !
> >
> >
>
>
More information about the Squeak-dev
mailing list
|