[squeak-dev] [Squeak 4.0] removing ChangeSets

Chris Muller asqueaker at gmail.com
Fri Mar 12 22:51:48 UTC 2010


What do you mean, you want to get rid of ChangeSets?  Aren't they still useful?

On Wed, Mar 10, 2010 at 3:26 AM, Bert Freudenberg <bert at freudenbergs.de> wrote:
> On 10.03.2010, at 07:27, Ronald Spengler wrote:
>>
>> Bert says ChangeSets should be removed from the release artifact. I
>> need to know: does this entail sending condenseChanges to Smalltalk
>> before sending condenseSources? Or should I open a change set browser
>> and delete them?
>>
>> --
>> Casey Ransberger
>
> Got nothing to do with condenseChanges, that is just about the changes file, not the changesets in the image.
>
> Hmm, where did ReleaseBuilder go? It had a set of utilities for image cleanup. Like
>
> cleanUpChanges
>        "Clean up the change sets"
>
>        "ReleaseBuilder new cleanUpChanges"
>
>        | projectChangeSetNames |
>
>        "Delete all changesets except those currently used by existing projects."
>        projectChangeSetNames _ Project allSubInstances collect: [:proj | proj changeSet name].
>        ChangeSorter removeChangeSetsNamedSuchThat:
>                [:cs | (projectChangeSetNames includes: cs) not].
>
> initialCleanup
>        "Perform various image cleanups in preparation for making a Squeak gamma release candidate image."
>        "ReleaseBuilder new initialCleanup"
>
>        Undeclared removeUnreferencedKeys.
>        StandardScriptingSystem initialize.
>
>        (Object classPool at: #DependentsFields) size > 1 ifTrue: [self error:'Still have dependents'].
>        "Undeclared isEmpty ifFalse: [self error:'Please clean out Undeclared']."
>
>        Browser initialize.
>        ScriptingSystem deletePrivateGraphics.  "?"
>
>        self cleanUpChanges.
>        ChangeSet current clear.
>        ChangeSet current name: 'Unnamed1'.
>        Smalltalk garbageCollect.
>
>        "Reinitialize DataStream; it may hold on to some zapped entitities"
>        DataStream initialize.
>
>        Smalltalk garbageCollect.
>        ScheduledControllers _ nil.
>        Smalltalk garbageCollect.
>
>        SMSqueakMap default purge.
>
> finalCleanup
>        "ReleaseBuilder new finalCleanup"
>
>
>        Smalltalk forgetDoIts.
>
>        DataStream initialize.
>        Behavior flushObsoleteSubclasses.
>
>        "The pointer to currentMethod is not realy needed (anybody care to fix this) and often holds on to obsolete bindings"
>        MethodChangeRecord allInstancesDo: [:each | each noteNewMethod: nil].
>
>        self cleanUpEtoys.
>        SmalltalkImage current fixObsoleteReferences.
>
>        self cleanUpChanges.
>        ChangeSet current clear.
>        ChangeSet current name: 'Unnamed1'.
>
>        Smalltalk flushClassNameCache.
>        3 timesRepeat: [
>                Smalltalk garbageCollect.
>                Symbol compactSymbolTable.
>        ].
>
>
>
> - Bert -
>
>
>
>



More information about the Squeak-dev mailing list