[squeak-dev] [Squeak 4.0] removing ChangeSets

Eliot Miranda eliot.miranda at gmail.com
Fri Mar 12 23:00:15 UTC 2010


On Fri, Mar 12, 2010 at 2:51 PM, Chris Muller <asqueaker at gmail.com> wrote:

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

Not getting rid of the code supporting change sets, but throwing away all
the instances of ChangeSet except those owned by the projects in the image
and emptying those change sets of their change sets.  i.e. throwing away
change set state, not behaviour.


> 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 -
> >
> >
> >
> >
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20100312/6d79d005/attachment.htm


More information about the Squeak-dev mailing list