Current versions of Squeak come with Monticello preinstalled. You only need to use these instructions if you are using an old version of Squeak.

The best way to install Monticello is via SqueakMap. Note however, that MC has two de-pendencies, both are part of the standard image, so it"s usually not necessary to install them explicitly. However, the update stream tends to lag behind the versions on SqueakMap, so it"s often a good idea to upgrade them before installing MC.

Creating a Working Copy

Once Monticello is installed, the Monticello Browser will be available from the "open..." menu. Open it by selecting World / open... / MonticelloBrowser. The first thing you need to do is tell Monticello about the package you are interested in versioning. You do this by creating a Working Copy.

From an .mcz version file

Open a FileList and navigate to the version file. Click on the "Load" button to load the package into your image.

From a version in a repository

First connect to the repository, either local or remote, that contains the verison you want to load. See below for details. Then open the repository: select the repository in the list on the right-hand side of the Monticello Browser, and click the "Open" button. This will open a Repository Inspector. Select your version and click the "Load" button.

From scratch

Click on the "+Package" button, and enter the name of a PackageInfo package. It doesn"t matter whether or not the code for the package already exists. Once the Working Copy has been created, the name of the package will appear in the package list on the left side of the Monticello Browser. If you loaded an existing version, the version name will be displayed in parenthesis after the package name, otherwise the parenthesis will be empty, indicating that your working copy has no ancestors.

Connecting to a Repository

If you've already got a Working Copy, click on the package name on the left

side of the Monticello Browser, so that your repository will be associated with your package. To connect to a repository, click on the '+Repository' button in the Monticello Browser. A pop-up menu will appear, allowing you to select the type of repository you want to connect to. The simplest repository type is 'directory.' When you select this type of repository, Monticello will open a FileList2 to allow you to select an existing directory in which to store versions. Other types of repositories typically require more configuration, and will open a text pane to allow you to enter it.

Saving Changes

Changes to your working copy are automatically logged in your changes file, so you only need to create a new version of your package when you want to share the changes with others. Select the package on the left side of the Monticello Browser and the repository to save to on the right, then click the 'Save' button. See Repositories for discussion of how to publish to shared repositories.

Merging Changes

If you or some other developer have made changes to the same version of a package, load one version as your working set and then select the repository containing the other version in the Monticello Browser, open a Repository Browser and select the other version. Clicking the 'Merge' button will automatically load all non-conflicting changes from the other version. If you need to control which changes to accept, you may instead click 'Changes' to browse every difference.