[squeak-dev] Our process, some loose ideas regarding DS + MC
Göran Krampe
goran at krampe.se
Sat Aug 15 08:10:18 UTC 2009
Hi folks!
As we all know we are in the middle of a heated discussion about our
release process etc. I haven't read all messages nor do I think that any
of the two "sides" (Andreas and Keith basically) are 100% wrong nor 100%
right.
Anyway, disregarding all that :) - I would like to do a sketch on an
"ideal" daily process for development. I would appreciate this thread to
NOT turn into the current "war" between "Trunk" and "Bob", ok?
MC is a very good tool and Keith/Matthew and others have turned it into
an even better tool AFAIK using SystemEditor as a base etc. It does have
its limitations though:
1. It tends to be more coarse granular than other tools. "commits" tend
to be more seldom, at least when I work in it. Probably due to less
stellar performance, might have been fixed.
2. It needs history to do its merge magic. Thus it doesn't play well
between forks. It plays very well within a package or within a group of
packages (a fork perhaps).
3. It is centered around packages defined by PackageInfo which more or
less means "a group of class categories + class extensions". It does
have MC configs now, and I haven't used them myself yet so I can't
really comment.
The above three bits are different with Deltas.
Anyway, I am trying to envision how an MC based approach like "trunk"
could work together with Deltastreams. DS is meant to replace Changesets
and could complement MC in the above three departments (and more).
For example, we could create some kind of "commit tool" that operates
above MC/DS which would use Delta recording (exactly like Changesets
record today) to catch current image modifications and to offer a nice
UI to select a subset of those modifications (or all), enter commit
comment, classify it and push "commit".
This commit tool could have some checkboxes and drop down menus to
classify this commit and also tell where to "send it":
- Also snapshot MC packages. This would cause an MC commit as well as a
Delta to be produced. If not checked we only produce a Delta.
- Bug fix to send to proper streams based on touched PIs. The tool could
then select proper Delta *stream* in which to publish the Delta based on
what PIs it touches.
What would this achieve? Well, first of all we might be able to work
more completely in Squeak. :) We would above all be able to get "cross
fork pollination" using the Deltas that are being published alongside
the MC snapshots. Pharo could be "listening" to our bug fix stream for
example. And vice versa if Pharo decides to use this. And well, it opens
up lots of other possibilities I think.
Anyway, would be interested in all feedback on this idea.
regards, Göran
More information about the Squeak-dev
mailing list
|