MC2? (was Re: [squeak-dev] Monticello: committing part of a change)

Casey Ransberger casey.obrien.r at
Tue Feb 15 18:44:22 UTC 2011

Whatever happened to MC2 anyway? We currently use a fork of MC, no? In the longer term, does MC2 make more sense? Can we merge the changes from Trunk (e.g. atomic loading) into MC2? How much work would that be?

I regularly hear people asking for feature x and see replies to the effect "MC2 does that." So it seems like it meets some wants, if not needs. Are there objections to MC2, is MC2 just not well baked, or is it just a lot of work that no one is excited about doing?

If the problem is the latter, maybe someone who knows a bit about MC with a spot of time should ask ESUG for a grant.

I tried doing a port of MC from trunk to Cuis one night, and I learned two things:

 - MC is complex (I expected this)
 - I don't understand MC well enough to port it yet. Got the UI and networking going but that was as far as I could go without hitting the low limit of my understanding

On Feb 15, 2011, at 8:26 AM, Levente Uzonyi <leves at> wrote:

> On Mon, 14 Feb 2011, Frank Shearar wrote:
>> On 2011/02/07 16:06, Chris Muller wrote:
>>> Not the only way, but:
>>> 1) Select the Package containing the changes in the MC browser.  Click
>>> "Changes" button.
>>> 2) File-out small, individual changes separately.
>>> 3) Save image.  Then save image again as: temp.image
>>> 4) Revert the package.
>>> 5) File-in changes from step 2.
>>> 6) Version package.
>>> 7) Exit temp.image, go back to your old image.
>>> 8) Merge package just saved.
>> I was hoping you weren't going to say that. A whole lot of work for what should be very easy.
>> OK, I see that when one hits the Save button, Monticello creates the new version using MCWorkingCopy>>newVersion, which ultimately calls MCPackage>>snapshot. This returns an MCSnapshot containing a collection of MCDefinitions for all the bits & pieces inside a package - class definitions, method definitions, etc.
>> So presumably one could save SOME of the pending changes, by simply saving an MCSnapshot that contains only SOME of the definitions in a package?
> Sound reasonable. We need to change the UI to let the user select the changes s/he wants to save. It would also be nice to let the user create a changeset from the selected changes.
> Levente
>> frank
>>> On Sat, Feb 5, 2011 at 5:31 PM, Frank Shearar
>>> <frank.shearar at>  wrote:
>>>> I often find that in the middle of some large change I see a small thing
>>>> that needs correcting. Often, I just fix it and carry on hacking.
>>>> Usually - with git or mercurial - I'll commit just that small change
>>>> separately, so it's clear what's going on.
>>>> Is there any way to do something similar in Monticello? What's the usual
>>>> workflow people use to selectively commit a change?
>>>> frank

More information about the Squeak-dev mailing list