[squeak-dev] Re: [ANN] Monticello 2.0.20

Avi Bryant avi at dabbledb.com
Thu Aug 14 05:03:12 UTC 2008


On Wed, Aug 13, 2008 at 7:56 PM, Andreas Raab <andreas.raab at gmx.de> wrote:

> I'd appreciate a five minutes sales pitch pointing out what one can do with
> MC2. Either things one could not do or only barely do or maybe slowly do
> with MC1. Anything to help me understand why I would want to use MC2 instead
> of MC1 ;-)

The features I care the most about are these:

1. Faster merges.  I have a couple of MC1 packages that are in the
many thousands of versions.  When I merge, it takes over a minute
before the dialog even pops up showing me the changes.  Making this
less of a chore would be a great boon to my development workflow.
2. More efficient use of disk/network.  My MC repository is several
gigabytes, and I frequently transfer megabytes to commit a couple of
hundred bytes of source changes.  This isn't usually that big a
problem, but when working on a laptop with a small harddrive or a slow
connection, it's annoying.
3. Cherry picking.  The worst part about merging with MC is that it's
all or nothing: you have to integrate every change someone has made,
or none of them.  MC2 lets you pick a few changes now, a few changes
later, and won't lose track of what you've done.

Others may have different priorities: for example, the fact that
(IIRC) each instance variable (or class var, etc) is versioned
separately, so that two people each adding an ivar to the same class
won't conflict, might appeal, though it's not a problem I can remember
ever running into.  MC2 was also written with portability much more in
mind, though MC1 is portable in practice (it works with full interop
on both Squeak and Gemstone), whereas MC2 is only portable in theory
so far.  But the three listed above are the ones that will make a real
impact on my daily work.

Avi



More information about the Squeak-dev mailing list