[squeak-dev] The Inbox: Installer-Core-cmm.427.mcz

Chris Muller asqueaker at gmail.com
Fri Nov 9 19:52:55 UTC 2018


Hi Dave, good catch!  Say, I imported your method changes directly to
the current trunk state in hopes you are okay leaving dtl.425 behind.

If so, please feel move this fix to trunk or I will within the next
day or so.  This is an important fix because it affects people loading
software even in 5.2, so we should also backport it to 5.2.

Regards,
  ChrisOn Fri, Nov 9, 2018 at 1:46 PM <commits at source.squeak.org> wrote:
>
> Chris Muller uploaded a new version of Installer-Core to project The Inbox:
> http://source.squeak.org/inbox/Installer-Core-cmm.427.mcz
>
> ==================== Summary ====================
>
> Name: Installer-Core-cmm.427
> Author: cmm
> Time: 9 November 2018, 1:46:00.513629 pm
> UUID: 080be346-3724-453d-ab98-190199cc236f
> Ancestors: Installer-Core-cmm.424
>
> If an explicit MC version is specified for Installer, load that version. Otherwise load the most recent version of the applicable package or package branch.
>
> =============== Diff against Installer-Core-cmm.424 ===============
>
> Item was removed:
> - ----- Method: InstallerMonticello>>mcDetectFileBlock: (in category 'monticello') -----
> - mcDetectFileBlock: pkg
> -
> -       pkg isString ifTrue: [  ^ [ :aMCVersionName |
> -                       (pkg beginsWith: aMCVersionName packageAndBranchName) and: [aMCVersionName beginsWith: pkg ] ] ].
> -
> -       (pkg isKindOf: Array)
> -                       ifTrue: [  ^  [ :aMCVersionName | pkg anySatisfy: [ :item |
> -                                               (item beginsWith: aMCVersionName packageAndBranchName) and: [aMCVersionName beginsWith: item ] ] ] ].
> -
> -       pkg isBlock ifTrue: [ ^ pkg ].
> -  !
>
> Item was changed:
>   ----- Method: InstallerMonticello>>mcThing (in category 'monticello') -----
>   mcThing
>         | loader |
>         loader := self classMCVersionLoader new.
>
>         "several attempts to read files - repository readableFileNames
>         sometimes fails"
>         self packages
> +               do: [:pkg |
> +                       | mcVersion versionNames sortedVersions fileToLoad version |
> +                       mcVersion := pkg asMCVersionName .
> -               do: [:pkg |
> -                       | versionNames fileToLoad version |
>                         versionNames := mc versionNamesForPackageNamed:
> +                               (mcVersion versionNumber = 0
> -                               (pkg asMCVersionName versionNumber = 0
>                                         ifTrue: [ "Just a package name specified, use it whole." pkg ]
> +                                       ifFalse: [mcVersion packageName]).
> +                       sortedVersions := versionNames sorted: self mcSortFileBlock.
> +                       fileToLoad := self versionToLoad: mcVersion fromVersions: sortedVersions.
> -                                       ifFalse: [pkg asMCVersionName packageName]).
> -                       fileToLoad := (versionNames sorted: self mcSortFileBlock)
> -                                               detect: (self mcDetectFileBlock: pkg)
> -                                               ifNone: [ nil ].
>                         fileToLoad
>                                 ifNotNil: [version := mc versionNamed: fileToLoad.
>                                         (version isKindOf: MCConfiguration)
>                                                 ifTrue: [^ version]
>                                                 ifFalse: [self normalizedRepositories do: [:repo |
>                                                                 MCRepositoryGroup default addRepository: repo].
>                                                         self normalizedRepositories do: [:repo |
>                                                                 version workingCopy repositoryGroup addRepository: repo].
>                                                         loader addVersion: version].
>                                         self logCR: ' found ' , version fileName , '...']].
>         ^ loader!
>
> Item was added:
> + ----- Method: InstallerMonticello>>versionToLoad:fromVersions: (in category 'monticello') -----
> + versionToLoad: mcVersion fromVersions: sortedVersions
> +       "From a list of sortedVersions, answer the most recent version or the
> +       exact version if explicitly specified."
> +       ^ sortedVersions
> +               detect: [:aMCVersionName | aMCVersionName = mcVersion "explicit version specified"]
> +               ifNone: [sortedVersions
> +                               detect: [:aMCVersionName | (mcVersion beginsWith: aMCVersionName packageAndBranchName)
> +                                               and: [aMCVersionName beginsWith: mcVersion "most recent version that matches"]]
> +                               ifNone: []]!
>
>


More information about the Squeak-dev mailing list