Monticello Basics
Last updated at 7:36 pm UTC on 7 March 2006
Note this is a work in progress. Please leave comments when you are finished.
Contents
See http://www.wiresong.ca/Monticello/ (this page is gone; 19 Oct 2005) and Monticello for an introduction into concepts.
See also Adding and removing classes or methods from a Monticello Package and Monticello Technical for suggestions on creating a package using Monticello.
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:
- Open the Package Loader, Red click on the World.
- World->open->Package Loader.
- Scroll down to the Monticello entry.
- Select it.
- Yellow click->install.
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.
Back to Contents
Running Monticello
To start Monticello from the World menu select the open submenu then select Monticello Browser.
- Red click on the World.
- World->open->Monticello Browser.
This should display the following window: (note your installation will show different package names and repository directories from the figures included here.)

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.
Back to Contents
Selecting a Package
To select a package that is listed in the left pane
- Red click on the package name: the Browse and History buttons become active and the repository listing in the right pane collapses to those repositories where this package resides.
The buttons:
- Browse: opens a SnapShot Browser on the current code loaded in the image, know as the working copy.
- History: opens a Version History window lisiting all the ancestors of the working copy.
Back to Contents
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.

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.
Back to Contents
Opening a Package and Version
To open a particular version of a package:
- Red click the package name in the left hand pane.
This will collaspe the right hand pane down to just those files in the package.
- Red click the version name in the right hand pane.
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.

The bottom pane contains information about this version.
- Name: The name of this package combined with the initials of the author who created this commit and the version number of the commit.
- Author: The initials of the Author. See SqueakMap for author initials to author name mapping.
- Time: Date and time of this commit.
- UUID: Internal package identification.
- Ancestors: The version used to create 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:
- Refresh: mentioned above.
- Browse: opens a SnapShot Browser on the version selected.
- History: allows you to examine the log information for all the versions that are ancestors of this version.
- Changes: opens a Patch Browser showing the changes that would occur to the image if this version of the package were loaded.
- Load: load the selected version into the image.
- Merge
- Adopt
- Save: save this version to a repository different then this one. A window listing all the repositories this installation of Monticello knows will open and you pick the repository to save to. This is different then Save at the top level. (More on saving a version later.)
- Diff
Next
Back to Contents
Comments:
See also ChangeSorter vs. ChangeSet vs. Monticello
wiz (24 Jul 2005 )
- How much space does MC use in doing its work?
- How do I use MC if I want to add a changed class to a larger package. (I.E how do you incorperate sub-packages into an MC naming scheme?)
Nothing here tells me how to create a new package. For example, I've created some new classes and put them in a new System Category: how do I write them out as a package?