[squeak-dev] The Trunk: MonticelloConfigurations-cmm.97.mcz

Chris Muller asqueaker at gmail.com
Tue Aug 16 15:04:08 UTC 2011


> At the very least this should warn that it's not just going to store a config, but copy versions over, too.

"Storing a config" should mean, well, Store the Config in a usable
state - not leave packages missing.  But I suppose what you're saying
is, you want to have the packages for a Config distributed across
multiple repositories.

How about this:  The packages in the config will be auto-copied to the
repositories in which any version of that package currently resides
in?  A "smart" copy..



>
> - Bert -
>
>> =============== Diff against MonticelloConfigurations-bf.96 ===============
>>
>> Item was changed:
>>  ----- Method: MCConfigurationBrowser>>checkDependencies (in category 'dependencies') -----
>>  checkDependencies
>> +     | missing |
>> +     missing := (self dependencies collect:
>> +             [ : ea | ea versionInfo name ]) asSet.
>> +     self repositories do:
>> +             [ : eachRepository | eachRepository cacheAllFileNamesDuring:
>> +                     [ missing copy do:
>> +                             [ : eachVersionName | (eachRepository includesVersionNamed: eachVersionName) ifTrue: [ missing remove: eachVersionName ] ] ] ].
>> +     ^ missing isEmpty or:
>> +             [ self selectDependency: missing anyOne.
>> +             self confirm:
>> +                     (String streamContents:
>> +                             [ : strm | strm
>> +                                      nextPutAll: 'No repository found for' ;
>> +                                      cr.
>> +                             missing do:
>> +                                     [ : r | strm
>> +                                              nextPutAll: r ;
>> +                                              cr ].
>> +                             strm nextPutAll: 'Do you still want to store?' ]) ]!
>> -     ^self checkModified and: [self checkMissing]!
>>
>> Item was removed:
>> - ----- Method: MCConfigurationBrowser>>checkMissing (in category 'dependencies') -----
>> - checkMissing
>> -     | missing |
>> -     missing := (self dependencies collect:
>> -             [ : ea | ea versionInfo name ]) asSet.
>> -     self repositories do:
>> -             [ : eachRepository | eachRepository cacheAllFileNamesDuring:
>> -                     [ missing copy do:
>> -                             [ : eachVersionName | (eachRepository includesVersionNamed: eachVersionName) ifTrue: [ missing remove: eachVersionName ] ] ] ].
>> -     ^ missing isEmpty or:
>> -             [ self selectDependency: missing anyOne.
>> -             self confirm:
>> -                     (String streamContents:
>> -                             [ : strm | strm
>> -                                      nextPutAll: 'No repository found for' ;
>> -                                      cr.
>> -                             missing do:
>> -                                     [ : r | strm
>> -                                              nextPutAll: r ;
>> -                                              cr ].
>> -                             strm nextPutAll: 'Do you still want to store?' ]) ]!
>>
>> Item was changed:
>>  ----- Method: MCConfigurationBrowser>>store (in category 'actions') -----
>>  store
>> +     (self checkRepositories and: [ self checkDependencies ]) ifFalse: [ ^ self ].
>> +     self pickName ifNotNil:
>> +             [ : name | self configuration name: name.
>> +             self pickRepository ifNotNil:
>> +                     [ : repo | repo cacheAllFileNamesDuring:
>> +                             [ self configuration dependencies do:
>> +                                     [ : each | repo
>> +                                             versionWithInfo: each versionInfo
>> +                                             ifAbsent: [ repo storeVersion: (MCRepositoryGroup default versionWithInfo: each versionInfo) ] ] ].
>> +                     repo storeVersion: self configuration ] ]!
>> -     (self checkRepositories and: [self checkDependencies]) ifFalse: [^self].
>> -     self pickName ifNotNil: [:name |
>> -             self configuration name: name.
>> -             self pickRepository ifNotNil: [:repo |
>> -                     repo storeVersion: self configuration]].!
>>
>>
>
>
>
>


More information about the Squeak-dev mailing list