The Trunk: MonticelloConfigurations-dtl.76.mcz

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

The Trunk: MonticelloConfigurations-dtl.76.mcz

commits-2
David T. Lewis uploaded a new version of MonticelloConfigurations to project The Trunk:
http://source.squeak.org/trunk/MonticelloConfigurations-dtl.76.mcz

==================== Summary ====================

Name: MonticelloConfigurations-dtl.76
Author: dtl
Time: 10 May 2010, 10:40:17.01 pm
UUID: c1903d5f-d5a8-41b6-9ccc-f42e4fa4689c
Ancestors: MonticelloConfigurations-ar.75

Allow MCConfigurationBrowser to remove a repository from a configuration.
Add class comments for classes in MonticelloConfigurations.

=============== Diff against MonticelloConfigurations-ar.75 ===============

Item was changed:
  Object subclass: #MCConfiguration
  instanceVariableNames: 'name dependencies repositories log'
  classVariableNames: 'DefaultLog ExtraProgressInfo LogToFile'
  poolDictionaries: ''
  category: 'MonticelloConfigurations'!
+
+ !MCConfiguration commentStamp: 'dtl 5/10/2010 21:35' prior: 0!
+ An MCConfiguration specifies the configuration of a set of related Monticello packages. It maintains an ordered list of package versions and a list of repositories in which the packages may be found. The package versions are treated as minimum version levels for each specified package.
+
+ An MCConfiguration may be filed out for storage as an array specification, and new instances can be created from a stored array specification.
+ !

Item was changed:
  Object subclass: #MCMcmUpdater
  instanceVariableNames: ''
  classVariableNames: 'DefaultUpdateURL LastUpdateMap'
  poolDictionaries: ''
  category: 'MonticelloConfigurations'!
+
+ !MCMcmUpdater commentStamp: 'dtl 5/10/2010 22:31' prior: 0!
+ MCMcmUpdater provides utility methods for updating Monticello packages from Monticello configurations. When Monticello configurations are stored in a repository, MCMcmUpdater acts as an update stream that loads each configuration map in sequence until all specified packages are fully updated.!

Item was changed:
  MCWriter subclass: #MCMcmWriter
  instanceVariableNames: ''
  classVariableNames: ''
  poolDictionaries: ''
  category: 'MonticelloConfigurations'!
+
+ !MCMcmWriter commentStamp: 'dtl 5/10/2010 22:20' prior: 0!
+ An MCMcmWriter stores an MCConfiguration on a stream in the form of an array specification.
+ !

Item was changed:
  MCVersionReader subclass: #MCMcmReader
  instanceVariableNames: 'fileName configuration'
  classVariableNames: ''
  poolDictionaries: ''
  category: 'MonticelloConfigurations'!
+
+ !MCMcmReader commentStamp: 'dtl 5/10/2010 22:22' prior: 0!
+ A MCMcmReader creates an MCConfiguration by reading an array specification from a stream.
+
+ !

Item was changed:
  ----- Method: MCConfigurationBrowser>>repositoryMenu: (in category 'morphic ui') -----
  repositoryMenu: aMenu
+ self fillMenu: aMenu fromSpecs: #(('add repository...' addRepository)).
+ self selectedRepository ifNotNil: [
+ self fillMenu: aMenu fromSpecs: #(('remove repository' removeRepository))].
+ ^aMenu
+ !
- ^self fillMenu: aMenu fromSpecs: #(
- ('add repository...' addRepository)
- )!

Item was added:
+ ----- Method: MCConfigurationBrowser>>removeRepository (in category 'repositories') -----
+ removeRepository
+ repositoryIndex > 0
+ ifTrue: [self repositories removeAt: repositoryIndex.
+ repositoryIndex := 0.
+ self changed: #repositoryList]!

Item was changed:
  MCTool subclass: #MCConfigurationBrowser
  instanceVariableNames: 'configuration dependencyIndex repositoryIndex'
  classVariableNames: ''
  poolDictionaries: ''
  category: 'MonticelloConfigurations'!
+
+ !MCConfigurationBrowser commentStamp: 'dtl 5/10/2010 21:48' prior: 0!
+ A MCConfigurationBrowser displays an MCConfiguration, and edits the configuration to add or remove package dependencies and repository specifications. It allows a configuration to be stored in a repository or posted to an update stream.!

Item was changed:
  ----- Method: MCConfigurationBrowser>>dependencyMenu: (in category 'morphic ui') -----
  dependencyMenu: aMenu
  self fillMenu: aMenu fromSpecs: #(('add dependency...' addDependency)).
  self selectedDependency ifNotNil: [
+ self fillMenu: aMenu fromSpecs: #(('remove dependency' remove))].
- self fillMenu: aMenu fromSpecs: #(('remove dependency...' remove))].
  ^aMenu
  !


Reply | Threaded
Open this post in threaded view
|

Re: The Trunk: MonticelloConfigurations-dtl.76.mcz

Bert Freudenberg
On 11.05.2010, at 02:41, [hidden email] wrote:
>
> David T. Lewis uploaded a new version of MonticelloConfigurations to project The Trunk:
> http://source.squeak.org/trunk/MonticelloConfigurations-dtl.76.mcz

> + An MCConfiguration specifies the configuration of a set of related Monticello packages. It maintains an ordered list of package versions and a list of repositories in which the packages may be found. The package versions are treated as minimum version levels for each specified package.

That's not quite right. A configuration always loads exactly the versions that are listed in it. But a configuration can be instructed to "update itself" to the highest-numbered ones from a repository. After that, those can be loaded.

Thats what happens when you choose "update from repositories" in MCConfigurationBrowser - it only changes the version numbers but does not install them yet.

That happens automatically using MCMcmUpdater, so there the two-step process is not obvious. But it still is essential to work - it first loads all the update maps, and after the last one is loaded, it updates that one from the repository, and installs its versions.

- Bert -



Reply | Threaded
Open this post in threaded view
|

Re: The Trunk: MonticelloConfigurations-dtl.76.mcz

David T. Lewis
On Mon, May 10, 2010 at 07:57:07PM -0700, Bert Freudenberg wrote:

> On 11.05.2010, at 02:41, [hidden email] wrote:
> >
> > David T. Lewis uploaded a new version of MonticelloConfigurations to project The Trunk:
> > http://source.squeak.org/trunk/MonticelloConfigurations-dtl.76.mcz
>
> > + An MCConfiguration specifies the configuration of a set of related Monticello packages. It maintains an ordered list of package versions and a list of repositories in which the packages may be found. The package versions are treated as minimum version levels for each specified package.
>
> That's not quite right. A configuration always loads exactly the versions that are listed in it. But a configuration can be instructed to "update itself" to the highest-numbered ones from a repository. After that, those can be loaded.
>
> Thats what happens when you choose "update from repositories" in MCConfigurationBrowser - it only changes the version numbers but does not install them yet.
>
> That happens automatically using MCMcmUpdater, so there the two-step process is not obvious. But it still is essential to work - it first loads all the update maps, and after the last one is loaded, it updates that one from the repository, and installs its versions.
>

Thanks Bert.

Phew, writing comments is not as easy as it looks ;-)

I just posted an update that might be slightly less incorrect.

Dave
 

Reply | Threaded
Open this post in threaded view
|

Re: The Trunk: MonticelloConfigurations-dtl.76.mcz

Bert Freudenberg
On 10.05.2010, at 20:40, David T. Lewis wrote:

>
> On Mon, May 10, 2010 at 07:57:07PM -0700, Bert Freudenberg wrote:
>> On 11.05.2010, at 02:41, [hidden email] wrote:
>>>
>>> David T. Lewis uploaded a new version of MonticelloConfigurations to project The Trunk:
>>> http://source.squeak.org/trunk/MonticelloConfigurations-dtl.76.mcz
>>
>>> + An MCConfiguration specifies the configuration of a set of related Monticello packages. It maintains an ordered list of package versions and a list of repositories in which the packages may be found. The package versions are treated as minimum version levels for each specified package.
>>
>> That's not quite right. A configuration always loads exactly the versions that are listed in it. But a configuration can be instructed to "update itself" to the highest-numbered ones from a repository. After that, those can be loaded.
>>
>> Thats what happens when you choose "update from repositories" in MCConfigurationBrowser - it only changes the version numbers but does not install them yet.
>>
>> That happens automatically using MCMcmUpdater, so there the two-step process is not obvious. But it still is essential to work - it first loads all the update maps, and after the last one is loaded, it updates that one from the repository, and installs its versions.
>>
>
> Thanks Bert.
>
> Phew, writing comments is not as easy as it looks ;-)
>
> I just posted an update that might be slightly less incorrect.
>
> Dave

Looks good to me. Thanks! Now the next time someone wonders, they have at least a bit of documentation :)

- Bert -