Why is YAXO in the stream?

Avi Bryant avi at beta4.com
Wed Nov 20 23:23:35 UTC 2002


On Wed, 20 Nov 2002, Stephen Pair wrote:

> I saw some mention of it somewhere...I'm just speaking in terms of DVS
> because it's what's available right now on the only concrete thing I from
> which to contemplate enhancements.  VersionNumber is on SqueakMap now.
> Could you describe how it abandons the chunk file format?

Monticello stores package versions just as serialized smalltalk objects -
basically, a PackageVersion object has a version number and a set of
Declaration objects, which can be instances of MethodDeclaration (class
name + selector + source) or ClassDeclaration (name + superclass name +
definition source).  PackageVersions know how to produce patches between
themselves and other PackageVersions, how to load themselves into the
image, how to create themselves from packages in the image, how to merge
with other PackageVersions, etc.  Currently this functionality is used to
build a simple CVS-like system, but one that never has to involve text
files.

You can still use PackageInfo to export a package to a .st file for
distribution, of course.  But it vastly simplifies building a versioning
system if you're not having to parse/print chunk format all the time.

See http://beta4.com/squeak/aubergines/docs/monticello.html if you want to
play aroun with it.

(Oddly, since I posted that yesterday, not a single person has tried out
the public repository...)




More information about the Squeak-dev mailing list