Monticello 2 alpha release
cputney at wiresong.ca
Fri May 5 16:05:33 UTC 2006
On May 5, 2006, at 3:23 AM, goran at krampe.se wrote:
> Hi Colin!
> Colin Putney <cputney at wiresong.ca> 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
> 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
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.
More information about the Squeak-dev