[squeak-dev] The Trunk: Installer-Core-fbs.366.mcz

Chris Muller asqueaker at gmail.com
Mon Apr 29 14:08:54 UTC 2013


Well, I think the proper change may be to make all implementors of
#versionNamesForPackageNamed: consistently returning the same thing.

It looks like I originally made this method answer an Array since 2011
but, only when I recently added it to MCRepositoryGroup, made THAT ONE
answer a Set.  I failed to look at the others but instead "just
thought about it".  If the same version was in more than one
repository we don't really need it multiple times.

So what is the correct behavior?  Perhaps answering a Set is the
correct behavior afterall and the others should be changed too?

On Mon, Apr 29, 2013 at 6:13 AM,  <commits at source.squeak.org> wrote:
> Frank Shearar uploaded a new version of Installer-Core to project The Trunk:
> http://source.squeak.org/trunk/Installer-Core-fbs.366.mcz
>
> ==================== Summary ====================
>
> Name: Installer-Core-fbs.366
> Author: fbs
> Time: 29 April 2013, 12:13:46.368 pm
> UUID: a93fa0fc-2a93-405a-86df-7aa334ee214b
> Ancestors: Installer-Core-fbs.365
>
> versionNames is a Set nowadays, but we want to sort it. Hence, convert to an Array.
>
> =============== Diff against Installer-Core-fbs.365 ===============
>
> 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 |
>                         | versionNames fileToLoad version |
>                         versionNames := mc versionNamesForPackageNamed:
>                                 (pkg asMCVersionName versionNumber = 0
>                                         ifTrue: [ "Just a package name specified, use it whole." pkg ]
>                                         ifFalse: [pkg asMCVersionName packageName]).
> +                       versionNames asArray sort: self mcSortFileBlock.
> -                       versionNames sort: self mcSortFileBlock.
>                         fileToLoad := versionNames
>                                                 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!
>
>


More information about the Squeak-dev mailing list