[squeak-dev] [ANN] New source.squeak.org prototype

Chris Muller ma.chris.m at gmail.com
Fri Sep 6 21:46:46 UTC 2013


An on-going concern of the community is sustaining and improving our
trunk development process.  Currently source.squeak.org employs an old
version of SqueakSource running on an old Squeak 3.x image on an old
interpreter VM.  I have deployed a prototype replacement on box4 with
several improvements:

  - It is running on the latest trunk image with a recent Cog VM.
  - The SqueakSource package has been upgraded to generically support
any type of backend instead of only a Filesystem-based back end.
  - A new subclass for a Magma-based back end was added and used by
the prototype.
  - Startup time is > 10X faster than with the FileSystem (which uses
ReferenceStream).
  - Commits are > 100X faster because it's simply a DB commit rather
than re-serializing the entire model with ReferenceStream for every
change.
  - However, we will not notice a speed up because we have hacked
SqueakSource to bypass the Filesystem subclass for a
save-the-image-every-hour persistence.  But this is unsustainable and
dangerous.
  - The SqueakSource-software now responds to SIGTERM to conduct a
graceful shutdown and exit.
  - Use of the Magma back end improves the SCM tool by letting us
browse all 'mc versions' of any method or class-definition.  We can
also browse the 'mc origin' of same -- which is just the oldest
version it is known to exist in (which, if we would ensure ALL
ancestry is present, then it will truly be the origin).  Happy
birthday Tim Rowledge.

I have done VERY minimal testing.  But we need to finally begin the
process of moving this crucial component our community away from the
costly Hetzner box and onto Gandi-based servers provided by the SFC,
so please try it and provide feedback!

To use the new prototype:

  1) Use a recent trunk image.
  2) Install Monticello-cmm.565 from the Inbox.  'browse mc versions'
and 'browse mc origin' will be added to methods and class-list menus
(but are initially grayed out).
  3) Add this repository to Monticello:

    MCHttpRepository
        location: 'http://box4.squeak.org:8888/trunk'
        user: 'id'
        password: 'pw'

  4) Add the above repository to whichever packages you wish to invoke
the new SCM features.

 - Chris

PS -- This prototype only has data loaded for the trunk project as of
about one week ago.  It is not kept in-sync with production trunk,
this is just a test.


More information about the Squeak-dev mailing list