Monticello 2 alpha release

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
11 messages Options
Reply | Threaded
Open this post in threaded view
|

Monticello 2 alpha release

Colin Putney
Hi folks,

After all the interest at Monticello 2 at Smalltalk Solutions, I  
figure it's time to get it out there for people to play with. It's  
alpha quality with all the usual disclaimers that go along with that:  
don't use it for code you don't want to lose, and don't use it in  
images you can't afford to throw away.

That said, there is some interesting stuff here. This is a completely  
new implementation - it shares no code with Monticello 1. Some of the  
features of the new model:

- method level history
- class extensions that can include variables
- easy partial merges
- better performance
- better scalability
- more compact repositories
- atomic updates

So far the user interface is... spartan... so not all these features  
are accessible yet. Features still to be implemented:

- tracking of class and variable renames
- versioned change sets
- finish the user interface
- networked repositories

You can download the installer from the URL below. I've created a  
SqueakMap entry, but I can't seem to create a release, so it's a  
manual file in for now.

http://www.wiresong.ca/static/releases/MDInstaller.1.st

Naturally, documentation is forthcoming, and feedback is appreciated.

Colin

Reply | Threaded
Open this post in threaded view
|

Re: Monticello 2 alpha release

Göran Krampe
Hi Colin!

Colin Putney <[hidden email]> wrote:
> Hi folks,
>
> After all the interest at Monticello 2 at Smalltalk Solutions, I  
> figure it's time to get it out there for people to play with. It's  

Awesome news! :) You mention "versioned changesets" and "partial
merges". One thing I love in darcs is the ability to only deal with
patches (changesets) but with good dependency resolution and the ability
to cherry pick. Does MC2 give something similar?

And... what was the specific problem with the release registration?

regards, Göran

Reply | Threaded
Open this post in threaded view
|

Re: Monticello 2 alpha release

stéphane ducasse-2
In reply to this post by Colin Putney
*****THANKS ***** colin.
I think that after managing Squeak with MC for a while, we touched  
some limits :)

Stef

On 5 mai 06, at 08:10, Colin Putney wrote:

> Hi folks,
>
> After all the interest at Monticello 2 at Smalltalk Solutions, I  
> figure it's time to get it out there for people to play with. It's  
> alpha quality with all the usual disclaimers that go along with  
> that: don't use it for code you don't want to lose, and don't use  
> it in images you can't afford to throw away.
>
> That said, there is some interesting stuff here. This is a  
> completely new implementation - it shares no code with Monticello  
> 1. Some of the features of the new model:
>
> - method level history
> - class extensions that can include variables
> - easy partial merges
> - better performance
> - better scalability
> - more compact repositories
> - atomic updates
>
> So far the user interface is... spartan... so not all these  
> features are accessible yet. Features still to be implemented:
>
> - tracking of class and variable renames
> - versioned change sets
> - finish the user interface
> - networked repositories
>
> You can download the installer from the URL below. I've created a  
> SqueakMap entry, but I can't seem to create a release, so it's a  
> manual file in for now.
>
> http://www.wiresong.ca/static/releases/MDInstaller.1.st
>
> Naturally, documentation is forthcoming, and feedback is appreciated.
>
> Colin
>


Reply | Threaded
Open this post in threaded view
|

Re: Monticello 2 alpha release

Colin Putney
In reply to this post by Göran Krampe

On May 5, 2006, at 3:23 AM, [hidden email] wrote:

> Hi Colin!
>
> Colin Putney <[hidden email]> wrote:
>> Hi folks,
>>
>> After all the interest at Monticello 2 at Smalltalk Solutions, I
>> figure it's time to get it out there for people to play with. It's
>
> Awesome news! :) You mention "versioned changesets" and "partial
> merges". One thing I love in darcs is the ability to only deal with
> patches (changesets) but with good dependency resolution and the  
> ability
> to cherry pick. Does MC2 give something similar?

Yes and no. The versioning models in MC2 and Darcs are quite  
different. Darcs organizes version history as a series of patches.  
It's dependency resolution capabilities allow it to figure out which  
patches are necessary to recreate the code in a particular version of  
your source tree. Like MC1, MC2 allows you to take snapshots of your  
code and recreate those snapshots in other images. However, MC2 keeps  
version history for each method (and class and variable) rather than  
for packages.

The upshot of all this is that cherry picking in MC2 is very, very  
easy. The merge tool is designed with the assumption that cherry  
picking is the normal case, and MC1-style complete merges are just  
special cases where you happen to apply all the changes.

On the other hand, the reference to "versioned changesets" wasn't  
meant in the sense of darcs patches. Since MC2 keeps version history  
for each method, it's not so tightly bound to packages the way MC1  
is. Let's imagine you want to make a change that cuts across a lot of  
packages. It's perfectly reasonable to open a change set, make your  
changes, and then have MC2 make a snapshot, with versioning history,  
of your change set. The snapshot will contain only the methods you  
touched during your work, so it's easy to send by email. You could  
send it to a bunch of package maintainers, and they could each cherry  
pick the changes that apply to their package, merging it into their  
work with full version history, even if they organize things by  
package rather than change set.

So, to sum it up, MC2 supports cherry picking, but dependency  
resolution in the darcs sense is a meaningless concept.

> And... what was the specific problem with the release registration?

Well, I filled in the form, and when I submitted, I just got the same  
blank form again. I checked the list of releases for the package, and  
it was still empty. I tried again a couple of times, using "save  
release" or "save as new release" but nothing worked.

Colin




Reply | Threaded
Open this post in threaded view
|

Re: Monticello 2 alpha release

Lukas Renggli
Colin, great news! Thanks a lot!

Where can I submit patches, fixes and enhancements to; not that I 've
got already something to submit, but still it is good to know?

Cheers,
Lukas

--
Lukas Renggli
http://www.lukas-renggli.ch

Reply | Threaded
Open this post in threaded view
|

Re: Monticello 2 alpha release

Colin Putney

On May 5, 2006, at 2:23 PM, Lukas Renggli wrote:

> Colin, great news! Thanks a lot!
>
> Where can I submit patches, fixes and enhancements to; not that I 've
> got already something to submit, but still it is good to know?

We're working on getting a public repository set up at Smallthought.  
Until that's in place, just send them to me.

Colin

Reply | Threaded
Open this post in threaded view
|

Re: Monticello 2 alpha release

Ken Causey-3
If this is something that will likely be included in Squeak at some
point in the future why not host development on squeaksource.com?
Better yet if it's going to be distributed with the Core or Basic Image
then I think we should host it on http://source.squeakfoundation.org/ .

Ken

On Fri, 2006-05-05 at 15:45 -0400, Colin Putney wrote:

> On May 5, 2006, at 2:23 PM, Lukas Renggli wrote:
>
> > Colin, great news! Thanks a lot!
> >
> > Where can I submit patches, fixes and enhancements to; not that I 've
> > got already something to submit, but still it is good to know?
>
> We're working on getting a public repository set up at Smallthought.  
> Until that's in place, just send them to me.
>
> Colin



signature.asc (196 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Monticello 2 alpha release

Colin Putney

On May 5, 2006, at 3:56 PM, Ken Causey wrote:

> If this is something that will likely be included in Squeak at some
> point in the future why not host development on squeaksource.com?
> Better yet if it's going to be distributed with the Core or Basic  
> Image
> then I think we should host it on http://
> source.squeakfoundation.org/ .

Well, this is a pretty temporary set up in any case. The goal would  
be to have MC2 become self-hosting in the near future. When that  
happens, it would better to host at Smallthought, where Avi and I can  
administer the server. Down the road, when MC2 is in wide use and  
we're confident it's robust, we can consider putting it in Squeak,  
hosting it at squeakfoundation etc.

I suppose it's a good sign that we have so many options for hosting.

Colin

Reply | Threaded
Open this post in threaded view
|

Re: Monticello 2 alpha release

Lukas Renggli
Hi Colin,

after loading the ToolBuilder prerequisite I managed to install MC2
with your load-script. I think there is a problem in the load order of
the script, I had to load it twice to make it work, the first time it
complained about some missing classes, such as MDSlice, ...

Thanks,
Lukas

--
Lukas Renggli
http://www.lukas-renggli.ch

Reply | Threaded
Open this post in threaded view
|

Re: Monticello 2 alpha release

Colin Putney

On May 6, 2006, at 2:32 AM, Lukas Renggli wrote:

> Hi Colin,
>
> after loading the ToolBuilder prerequisite I managed to install MC2
> with your load-script. I think there is a problem in the load order of
> the script, I had to load it twice to make it work, the first time it
> complained about some missing classes, such as MDSlice, ...

Yeah, I think you're right. I suspect the issue is that MC2-Squeak  
needs to be split into pieces - on the that loads before Monticello2  
and one that loads after. I forgot to mention the dependency on  
ToolBuilder.

I've been thinking about what sort of documentation to write up. Send  
me your questions and impressions as you play with it, and I'll see  
if I can work them into the docs.

Cheers,

Colin

Reply | Threaded
Open this post in threaded view
|

Re: Monticello 2 alpha release

stéphane ducasse-2
Colin

I'm really bad at using software so I can read the doc and let you know.

Stef

>> Hi Colin,
>>
>> after loading the ToolBuilder prerequisite I managed to install MC2
>> with your load-script. I think there is a problem in the load  
>> order of
>> the script, I had to load it twice to make it work, the first time it
>> complained about some missing classes, such as MDSlice, ...
>
> Yeah, I think you're right. I suspect the issue is that MC2-Squeak  
> needs to be split into pieces - on the that loads before  
> Monticello2 and one that loads after. I forgot to mention the  
> dependency on ToolBuilder.
>
> I've been thinking about what sort of documentation to write up.  
> Send me your questions and impressions as you play with it, and  
> I'll see if I can work them into the docs.
>
> Cheers,
>
> Colin
>