At Thu, 21 Aug 2008 18:09:52 +0200, Bert Freudenberg wrote:
Am 21.08.2008 um 17:45 schrieb Yoshiki Ohshima:
I meant that "a changeset" that has the preamble where I "might be able to find that information in the MC repository". how do I find in the MC repository which version contains the changeset with a method with, say, 'ASF'?
MC is snapshot-based, every MCZ contains all the code. So you would have to bisect all MCZs to find the one introducing a change.
An MCZ is a zip file that also contains the plain Smalltalk source code, so that could be used.
A more efficient way is to use MCDs which store something like a changeset (actually, the old and new snapshots of the changed parts) that updates from one MCZ to another.
An up-to-date SqueakSource server can auto-generate those MCDs even though they do not appear in the file index list. E.g., this repository
http://source.squeakfoundation.org/39a/
shows
http://source.squeakfoundation.org/39a/Collections-md.71.mcz http://source.squeakfoundation.org/39a/Collections-md.70.mcz http://source.squeakfoundation.org/39a/Collections-md.69.mcz
but you can access
http://source.squeakfoundation.org/39a/Collections-md.70(md.69).mcd
which is much smaller (though the first request might take long because the mcd is built). It has the new methods in new/source.st so that's where you would find the changes ...
The full history info including preambles is stored in both MCZs and MCDs inside a file named "version" as literal Smalltalk array (very similar to s-expr).
Cool. I'll fetch these mcd, expand and suck the changes in. Thank you!
-- Yoshiki