[squeak-dev] The Inbox: Monticello-cbc.399.mcz
Bert Freudenberg
bert at freudenbergs.de
Wed Aug 25 18:49:39 UTC 2010
I committed your MCConfig changes to trunk. Thanks! :)
But I'm not so sure about the changes to MC, as below.
Did you verify it even works? I don't think MCPackage>>unload is actually used when unloading a package. A better place would be MCPackageManager>>unregister and MCPackageManager class>>forPackage:.
Also, this introduces a hard dependency on MCMcmUpdater into the Monticello package. So this should at least be protected using
Smalltalk at: #MCMcmUpdater ifPresent: [:updater | ... ]
or using some other mechanism of decoupling.
E.g., I see MCPackageManager class sends "self changed: #allManagers" whenever a package is added or removed. Maybe listening to that would be better than adding these explicit notification?
- Bert -
> ----- Method: MCPackage>>unload (in category 'as yet unclassified') -----
> unload
> "Flag this package to not automatically reload when updating from Trunk.
> To begin receiving trunk updates on this package again, manually reload package."
> + MCMcmUpdater disableUpdatesOfPackage: self name.
> ^ self workingCopy unload!
>
> ----- Method: MCWorkingCopy>>merged: (in category 'operations') -----
> merged: aVersion
> ancestry addAncestor: aVersion info.
> + MCMcmUpdater enableUpdatesOfPackage: self package name.
> self changed!
>
> ----- Method: MCWorkingCopy>>loaded: (in category 'operations') -----
> loaded: aVersion
> ancestry := MCWorkingAncestry new addAncestor: aVersion info.
> requiredPackages := OrderedCollection withAll: (aVersion dependencies collect: [:ea | ea package]).
> self modified: false.
> + MCMcmUpdater enableUpdatesOfPackage: self package name.
> self changed!
More information about the Squeak-dev
mailing list
|