The plan:
Mercurial installations have the following in their hgrc configuration file:
A)
[encode] **.image :tempfile squeaknormalize -normalizeNoStart INFILE OUTFILE
B) [encode] **.image :tempfile squeaknormalize -headless -normalize INFILE OUTFILE /path/to/script.st
Whenever mercurial commits a *.image file to the repository it will pass it through this filter. squeaknormalize being a modified vm.
Option A) reads, writes and quits the image without even starting the interpreter Option B) runs a script, which is then responsible for snapshotting and quitting
The script could perform some simple image tidying such as flushing MC caches etc.
When reading parameters, both options sneakily grab the first parameter (INFILE) into "normalizingInputImageName", the normal document (OUTFILE) is the next parameter and this becomes the current "imageName"
Typically mercurial uses temp files of the form /tmp/hg-filter-123 without an extension to support this I have had to patch out the automatic appending of 'image' to the document parameter.
This scheme described above is implemented but not tested or debugged.
I still haven't succeeded in getting the image to save littleEndian on my mac..
best regards
Keith