All new Monticello 2

15 August, 2008

Colin Putney has announced the release of Monticello 2.0, a ground-up rewrite, using a new, more flexible and more performant versioning engine. Monticello is a distributed optimistic concurrent versioning system for Squeak code written by Avi Bryant and Colin Putney with contributions from many members of the Squeak community.

The new version has a number of changes that Colin believes address problems uncovered while developing and using the first version. The new release manages versioning at a finer level: individual program elements – classes, methods, instance variables, etc. This means that Monticello 2 can be used to version arbitrary snippets of code. These might correspond to packages, change sets, or any other method a programmer chooses to separate “interesting” code from the rest of the image.

According to the discussion that followed the announcement, the new code also manages updates more quickly and with less network and disc traffic, is more extensible, and has better separation of core and UI elements (which will ease porting to other Smalltalks).

Older versions of the code are available on SqueakMap and SqueakSource, as well as the wiresong site, but in his email Colin says that the latest version should always be available at (I assume that requires a manual download and file-in – please let me know in the comments if there’s an easier way to do this). The zip file also has step-by-step instructions on how to use the (very different) user interface.