From: "Jeroen van Hilst" jeroen@keizerrijk.net 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:
1. 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.
2. 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 grows.
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.)
Gretings. Boris