goran@krampe.se puso en su mail :
I use darcs (www.darcs.net) for all my non-Squeak projects. It is a truly remarkable distributed SCM which is one of the few SCMs totally focused around "patches" (think ChangeSets). It has fantastic merging capacities, patch-dependency resolution and above all - it offers "cherry picking". IMHO it is the most advanced SCM out there at the moment.
Anyway, it is hard to explain - but it rocks. And Slate uses it btw. :)
So my idea is this:
- Bring back MonticelloCVS into life but hack it to use Darcs instead.
- Possibly align the Darcs patches with ChangeSets. So when you "pull"
patches from a repo you could pull one at a time, synch with Squeak and produce a ChangeSet for each.
- Possibly rewrite ChangeSet so that it is less brainless. IMHO it
should actually *contain* the methods and not just point to the current method.
The vision is this:
- You point your MonticelloDarcs to x number of Darcs repos. A darcs
repo is just a http/ftp area (if you run readonly).
- You "pull" patches and darcs interactively asks which ones you want to
pick. You can cherry pick only the ones you want and darcs will pull any dependent patches as needed!
- When you work you can use the changesorters to rearrange/group your
edits (just as in the old days, kinda) and then you "record" selected changesets into the darcs repo.
- You push selected patches to other repos - typically we use a similar
approach that MC has with repos associated with packages etc.
This is kinda like a new breed of "update streams", but working in harmony with MC, reviving ChangeSets (because they are nice - if we improve them just a teeny bit) and piggybacking on the very advanced capabilities of darcs (patch dependencies, magical merges etc).
Well, it is just an idea. Possibly this can be used in harmony with MC - after all - both setups use PI as package boundary. MC could be used to produce "snapshots" for distribution on SqueakMap or just as baselines.
This could be a solution to "all image each time" problem. As you are using it and a rapid view say it's implemented in Haskell, how much time you think could take implement in Squeak ?
As I'm not only a compulsive complainer, if you have something at what could help with code or testing, let me know.
Edgar
___________________________________________________________ 1GB gratis, Antivirus y Antispam Correo Yahoo!, el mejor correo web del mundo http://correo.yahoo.com.ar