Obsolete PackageInfos Was: [squeak-dev] The Inbox: Monticello-bp.406.mcz

Chris Muller asqueaker at gmail.com
Fri Apr 15 18:42:58 UTC 2011


My only objection to it is the method name.  I think it should be
#unregisteredPackageInfos, not "obsoletePackageInfos".

 - Chris

On Fri, Apr 15, 2011 at 12:52 PM, Hannes Hirzel <hannes.hirzel at gmail.com> wrote:
> Monticello-bp.406.mcz is still in the Inbox.
>
> What should be done about it?
>
> --Hannes
>
> On 11/1/10, Bert Freudenberg <bert at freudenbergs.de> wrote:
>>
>> On 31.10.2010, at 17:53, Bernhard Pieber wrote:
>>
>>> I am trying to understand the class PackageInfo better, especially where
>>> its instances are held. There seem to be two places in the image.
>>>
>>> 1. PackageOrganizer default packages - This is in the PackageInfo-Base
>>> package and therefore is independent of Monticello. You can see this list
>>> if you do PackageList open. Does anyone use that UI? If yes, what for?
>>
>> Only to inspect what packages are there.
>>
>>> 2. MCWorkingCopy registry collect: [:each | each packageInfo] - This is
>>> the list of PackageInfos Monticello knows about and shows in the
>>> Monticello Browser.
>>
>> This does refer to the instances held by PackageOrganizer.
>>
>>> In the current trunk image the first list is larger than the second, there
>>> are 24 PackageInfos Monticello does not know about:
>>> (PackageInfo allPackages difference: (MCWorkingCopy registry collect:
>>> [:each | each packageInfo]))
>>>
>>> I cannot think of any use for those, so I think they are obsolete. I found
>>> a message send to remove them: MCWorkingCopy flushObsoletePackageInfos. I
>>> took some code from there and created a query method obsoletePackageInfos.
>>> I think this is useful. What do you think?
>>>
>>> IMO MCWorkingCopy flushObsoletePackageInfos should be called in the trunk
>>> image. What do you think about that?
>>>
>>> Cheers,
>>> Bernhard
>>
>> Should be part of the release process, yes. But since PackageInfo is
>> independent of Monticello, there may be other uses of it. So a flush should
>> not be forced unless you know what you're doing. When building a release,
>> you do :)
>>
>> - Bert -
>>
>>
>>> Am 31.10.2010 um 15:55 schrieb commits at source.squeak.org:
>>>> A new version of Monticello was added to project The Inbox:
>>>> http://source.squeak.org/inbox/Monticello-bp.406.mcz
>>>>
>>>> ==================== Summary ====================
>>>>
>>>> Name: Monticello-bp.406
>>>> Author: bp
>>>> Time: 31 October 2010, 4:38:59.454 pm
>>>> UUID: 2bc8f189-09ca-4471-b0fe-89c70f4f379d
>>>> Ancestors: Monticello-nice.405
>>>>
>>>> added obsoletePackageInfos
>>>>
>>>> =============== Diff against Monticello-nice.405 ===============
>>>>
>>>> Item was added:
>>>> + ----- Method: MCPackageManager class>>obsoletePackageInfos (in category
>>>> 'cleanup') -----
>>>> + obsoletePackageInfos
>>>> +   "Answer all PackageInfos that are not associated with an
>>>> MCPackageManager."
>>>> +   | pkgNames |
>>>> +   pkgNames := self allManagers collect: [:wcs | wcs packageName] as:
>>>> Set.
>>>> +   ^PackageOrganizer default packages select: [:p |
>>>> +           p class isObsolete or: [(pkgNames includes: p packageName) not]]!
>>>>
>>>>
>>>
>>>
>>
>>
>>
>
>



More information about the Squeak-dev mailing list