Going for the Full Monti (Re: How to improve Squeak)

danielv at tx.technion.ac.il danielv at tx.technion.ac.il
Wed Jul 14 14:25:10 UTC 2004


Avi Bryant <avi at beta4.com> wrote:
> I would imagine the 
> full process would be this:
> 
> - you start at a baseline version, probably a recent release
> - you choose a changeset to review, which gets filed in.  A version is 
> automatically saved, recording the preamble comment from the changeset.
> - you try out the changes, possibly making minor modifications along 
> the way.  When you're done, you provide a set of review notes.  A new 
> version is made with your modifications and these notes.
> - the system is then reverted back to the baseline release, before the 
> next changeset comes in

Delaying for a while more any consideration on my part for ease of
implementation, it seems to me like it would be more useful if the
testing/reviewing of patches is more smoothly integrated with day to day
work. 

For example, I reviewed a patch, it seems sane, I file it in. I keep on
working, and testing other patches, until I have a chance to notice some
bugs come up that are related to that patch. So we shouldn't assume a
stack discipline to patch application. Also, I might later on have
additional comments to add that are related to that patch like "also
appears to solve the X bug", even without changing the code. 

But adding the comment simply in a commit log wouldn't associate the
comment with the patch - in fact, AFAIU, once commited, there's no way
to add comments to the patch, if we view the patch as merely a version.
Hence, it might be that "patch", or whatever we call it, is better
modeled as a new entity. Maybe something that is itself editable and
versioned (a "kind of" package?), which refers to a dynamic set of
versions. Or maybe I'm going overboard and there's a much simpler
solution, but I think the problem exists.

Generally, the way I imagine the "gene" of code, the smallest meaningful
unit of code propagation, it looks more like a BFAV entry than like a
version. It should be a minimum of code, it should continuously acquire
any soft context/feedback the environment supplies... 

Though of course I agree the existance and machinary provided by
versions could make their propagation much smoother. And versions give
us a more natural unit for wholesale adoption/synchronization of code
than patches or series of patches.

Daniel



More information about the Squeak-dev mailing list