On Wed, Aug 13, 2008 at 7:56 PM, Andreas Raab andreas.raab@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