question(s) from a newcomer Squeak-fan about changes and images

Boris Gaertner Boris.Gaertner at
Tue Jan 31 20:50:58 UTC 2006

From: "Jeroen van Hilst" <jeroen at> wrote:

> Hello all,

> What i dont get is, do these files just grow forever ?.
> Or do i (at a certain point in development) incorparate all changes in the
> image and then start a new changes file ?

These files grow, but they cannot grow forever - they are limited
to 32 MBytes.

You have these options:

You can 'cleanup the changes file. That clean-up is done with

   Smalltalk condenseChanges.

This clean-up removes all 'historical'definitions from the changes
file and keeps only the most recent ones. Condensation of
the changes destroys the changes history which is sometimes felt
as a disadvantage. It reduces the size of the changes file
which is sometimes a necessity.
Condensation of the changes does not affect the sources file.

You can merge the currently valid definitions from the changes file
with the sources file. This empties the changes file and it also
removes the changes history (that you see when you read the
versions of a method.)  Outdated definitions are removed
from both the changes file and the sources file.
When you merge the changes into the sources file, that file

To do that, you evaluate

  Smalltalk condenseSources

The messages  condenseSources, condenseChanges

are part of the instance protocol of class SystemDictionary.

It is good practise to backup a Smalltalk system before you
do changes condensation or sources condensation. The
backup should include these files:
 * the image
 * the changes
 * the sources

I should also mention that the images file contains pointers
into both the sources file and the changes file. It is therefore
necessary to keep these three files together. (The image
contains compiled versions of all methods, the changes file
and the sources file are only needed for code development
and for code examination. The debugger also fetches method
definitions from these files.)


More information about the Squeak-dev mailing list