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 |
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 |
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 > |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 > |
Free forum by Nabble | Edit this page |