links to this page:
Basic Squeak Development Tools
Packages
Monticello Basics
Class Extensions
Setting up a Morphic project
The Squeak and Smalltalk Glossary
ChangeSorter vs. ChangeSet vs. Monticello
A day in the life of Squeak TDD
mcz
Installer
Squeak Tutorials
Monticello package
Goodies and Changesets
How to unload Etoys from Squeak 5.2
MCVersionReader
Metacello - Why do you need a package management system
New Squeaker questions
VMMaker
Avi Bryant
Genie
Randall Bohn
MCVersion
MCDictionaryRepository
Introduction to The Browser
MCHttpRepository
Git Browser
WebClient-Monticello
Monticello and Dropbox
How to unload Etoys from Squeak 5.3
Documentation
Freetype font support
Gofer
How to contribute to Squeak
Prefix Registry
MiniToDo
FAQ: Distributing Squeak Programs
Colin Putney
FAQ: Squeak File Extentions
SqueakSource
Alternative approaches to the development of Squeak
UnstableSqueak
benefits of Squeak development via MC
Swiki Page List
Live Class Evolution in Magma
ToolBuilder
Release Plan for 3.9
MC
Ken Brown's Bookmarks
More Beginner Tutorials
3.9alpha Hybrid MC/UpdateStream Process
What is cool about Squeak?
Development Tools Overview (Monticello, SqueakSource, SqueakMap)
KernelImage
Polymorph (was UI Enhancements)
MaSarPackage
Metacello
Personal SqueakSource
Make a compact model of your package ecosystem
Pharo
Squot
Monticello
Last updated at 7:24 pm UTC on 26 November 2019
Monticello is a distributed, optimistic, concurrent, versioning system for Squeak and Pharo code (
Cuis
can read Monticello files but not write them). Monticello is included in the release image and you do not need to load anyting to use it.
The home page by the original authors is at
http://www.wiresong.ca/Monticello/
and the original v2 documentation can be found at
http://www.wiresong.ca/monticello/v2/docs/
.
The short list of what Monticello provides:
Distributed versioning (store a package in as many repositories as you want, moving version files freely between them, without losing branching info)
Optimistic branching and merging (reconcile concurrent modifications to a package, with conflict detection and resolution)
Declarative modelling of Smalltalk code (Monticello is based on whole-package snapshots, not change sets)
Dependency checking on load (if a prerequisite like a superclass is missing, your image is left untouched)
smart package updating (migrate an image from one snapshot to another, performing the necessary additions and removals)
For a definition of Monticello terminology see
Elements of Monticello
For screen shots and navigation see
Monticello Basics
.
For some advice on using Monticello see
Monticello Basics
,
Versioning with Monticello
and
Adding and removing classes or methods from a Monticello Package
.
Monticello repositories can be hosted in several ways
simple file directories on your local disk
remote file directories, including on services such as dropbox and iCloud etc (
Monticello and Dropbox
)
squeaksource servers
http://squeaksource.com
http://source.squeak.org
http://smalltalkhub.com
Personal SqueakSource
simple WebDAV servers
simple monticello server:
based on WebServer (the basic web server provided in the release image)
Metacello
is a package management system for Monticello.
For more background
The SqueakMap page is
http://map1.squeakfoundation.org/sm/packagebyname/monticello
Motivations behind Monticello
.
Future Directions of Monticello
Ideas and Requests
-
Monticello and Changesets
How it works
Development Tools Overview (Monticello, SqueakSource, SqueakMap)
Screencast: How to Package Smalltalk Code with Monticello
How to speed up downloads:MCHttpRepository