View this PageEdit this Page (locked)Attachments to this PageHistory of this PageHomeRecent ChangesSearch the SwikiHelp Guide
Hotspots: Admin Pages | Turn-in Site |
Current Links: Cases Final Project Summer 2007

Monticello Guide by Danish Zia

What is Monticello?

Monticello is a distributed concurrent versioning system based on a declarative representation of Squeak source code. It allows packages to be safely saved, loaded and updated, and provides tools for branching and merging package versions. It does not depend on (and does not provide) any form of central repository. But it can be used to share code.

Monticello relies on an external packaging system, usually PackageInfo. It records a series of snapshots of the code in a package as it evolves, as well as the ancestry relationships between snapshots. To load a snapshot into an image, it finds the differences between the state of package in the image, and makes the necessary changes to the image so that it matches the snapshot. It uses the ancestry of snapshots to provide a merge operation, so that conflicts between two sets of changes can be detected, and non-conflicting changes can be applied automatically.

Getting Started

When you start a fresh image for the first time you will need to install Monticello. Once Squeak is up and running follow these steps:

After a while (depending on your internet connection) the install will finish and you'll be able to run Monticello

Note: For recent Monticello versions you also need to install PackageInfo. Follow the same steps as above.

Running Monticello

To start Monticello from the World menu select the open submenu then select Monticello Browser. Red – click on the World.
This should display the following window: (note your installation will show different package names and repository directories from the figures included here.)

Uploaded Image: image1.png

The pane on the left lists all the Monticello packages currently installed in your image. The pane on the right lists all the repositories Monticello currently knows.

Selecting a Package

To select a package that is listed in the left pane
The buttons:

Opening a Repository

To open a repository that is listed in the right pane
This should result in a window similar to the one below.

Uploaded Image: image2.png

Here the left hand pane displays all the packages in the repository you opened; the right hand pane displays all the different versions of the packages in that repository. Yellow clicking in the right pane will bring up a menu that will allow you to sort the packages by different criterion.

Only the Refresh button is active. Pressing it will cause Monticello to re-read the repository and update the window.

Opening a Package and Version

To open a particular version of a package:
This will collaspe the right hand pane down to just those files in the package.
Depending on the location of the repository (local or networked) this could take a few minutes.
You'll noticed two changes in the window. First, all the buttons at the top of the window will become active and second, the bottom pane will display data.

Uploaded Image: image3.png

The bottom pane contains information about this version.

The final section of the bottom pane should contain information and comments the author entered when she did the commit.

The buttons support dynamic help messages, moving the mouse pointer over a button will bring up a brief help message. The buttons are:

My Sources

Link to this Page