[squeak-dev] Monticello: committing part of a change

Frank Shearar frank.shearar at angband.za.org
Mon Feb 14 22:24:02 UTC 2011

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 


> On Sat, Feb 5, 2011 at 5:31 PM, Frank Shearar
> <frank.shearar at angband.za.org>  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