[squeak-dev] Re: Our process, some loose ideas regarding DS + MC

Andreas Raab andreas.raab at gmx.de
Sat Aug 15 18:50:55 UTC 2009


Göran Krampe wrote:
>> One thing that's not quite clear in this picture is where the 
>> "canonical" source for patches would be and how it would be 
> 
> Not sure I understand what you mean here.

Simply the question of where/how DS are stored. Monticello has 
repositories that store full source for a package. As a consequence 
packages are large, but they allow you to see what's different in your 
image, what a patch does, tracking history etc. You can agree on a place 
and say "this is THE repository for package X" etc. I'm wondering where 
DS stand with regards to these issues.

>> produced. In most of what you wrote you've concentrated more on the 
>> harvesting aspect (i.e., being able to cherry-pick contributions from 
>> elsewhere) but how does an actual development flow look like?
> 
> Well, I can't really say although I have some ideas, let me again 
> mention some things Deltas should make possible and then we could try to 
> think together what that means for the "flow":
> 
> - Deltas can be loaded into an image "en masse" because loading a Delta 
> simply deserializes it into a fully self contained object. This means we 
> can read, edit and analyse them without affecting the image.
> 
> - Deltas can be applied and unapplied.
> 
> - Deltas can "reason" about how well they can be applied. This is 
> because each change within the Delta has information about the state 
> "before" the change. For example, a ModifyMethodChange has both new and 
> old source (and stamps etc).

That's *very* useful. One of my favorite features when using MC is that 
it can tell us if there is a conflict in a merge and that this method 
requires special attention. If DS can do something similar by telling us 
that the base version of a method is different from when the DS was 
created this will be hugely helpful.

> Some things we already know:
> 
> - Deltas in fact implement a more advanced changelog. It could be used 
> to replace the .changes file.
> 
> - Since they can be applied/unapplied Deltas can easily be used to build 
> a "Quilt"-like system.

I don't know what that is. Any references?

> - Deltas are "rich" in state and can be analysed/manipulated in a lot of 
> different ways.
> 
> So... post is getting long. :) I am all ears for observations/ideas at 
> this point. And yes, I will try to get DS into such a shape that we can 
> actually start playing more seriously with them.
> 
> Fully replacing Changesets would be a great start IMHO. To do that we 
> need fileformat and UI. And a few other odd bits, but not much.

Keep me in the loop if you need help. I probably won't be touching the 
domain model and stuff but if you need help on the surface and for 
workflows I might be able to help out.

Cheers,
   - Andreas



More information about the Squeak-dev mailing list